struct CCL::IMediaThreadWorkgroupHandler
Overview
Handler to add / remove threads to workgroups in multimedia applications. More…
#include <imediathreading.h> struct IMediaThreadWorkgroupHandler: public CCL::IUnknown { // methods virtual tresult CCL_API createWorkgroup ( Threading::WorkgroupID& workgroup, StringID name ) = 0; virtual tresult CCL_API releaseWorkgroup (Threading::WorkgroupID workgroup) = 0; virtual tresult CCL_API startWorkgroupInterval ( Threading::WorkgroupID workgroup, double intervalSeconds ) = 0; virtual tresult CCL_API finishWorkgroupInterval (Threading::WorkgroupID workgroup) = 0; virtual tresult CCL_API addSelfToWorkgroup ( Threading::WorkgroupToken& token, Threading::WorkgroupID workgroup ) = 0; virtual tresult CCL_API removeSelfFromWorkgroup ( Threading::WorkgroupToken token, Threading::WorkgroupID workgroup ) = 0; virtual tresult CCL_API getMaxWorkgroupThreads ( int& nThreads, Threading::WorkgroupID workgroup ) = 0; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0;
Detailed Documentation
Handler to add / remove threads to workgroups in multimedia applications.
Methods
virtual tresult CCL_API createWorkgroup ( Threading::WorkgroupID& workgroup, StringID name ) = 0
Create workgroup.
virtual tresult CCL_API releaseWorkgroup (Threading::WorkgroupID workgroup) = 0
Release workgroup.
virtual tresult CCL_API startWorkgroupInterval ( Threading::WorkgroupID workgroup, double intervalSeconds ) = 0
Start workgroup interval.
virtual tresult CCL_API finishWorkgroupInterval (Threading::WorkgroupID workgroup) = 0
Finish workgroup interval.
virtual tresult CCL_API addSelfToWorkgroup ( Threading::WorkgroupToken& token, Threading::WorkgroupID workgroup ) = 0
Join this thread to the workgroup.
virtual tresult CCL_API removeSelfFromWorkgroup ( Threading::WorkgroupToken token, Threading::WorkgroupID workgroup ) = 0
Before exiting the thread, leave the workgroup.
virtual tresult CCL_API getMaxWorkgroupThreads ( int& nThreads, Threading::WorkgroupID workgroup ) = 0
Optimal number of threads per workgroup.