Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Constructs a COutputQueueobject.
COutputQueue( IPin *pInputPin , HRESULT *phr , BOOL bAuto = TRUE, BOOL bQueue = TRUE, LONG lBatchSize , BOOL bBatchExact , LONG lListSize , DWORD dwPriority );
Parameters
Return Values
No return value.
Remarks
The phrparameter should be updated only to report errors. Usually bAutowill be TRUE. In that case, the constructor calls IMemInputPin::ReceiveCanBlockon the downstream pin to determine whether to create a thread, and so to send samples asynchronously. If bAutois FALSE, a thread is created if, and only if, bQueueis TRUE.
If the batch size is not 1, data is not sent until lBatchSizesamples have been received by the object. The exceptions are that, if fewer than lBatchSizesamples are passed to COutputQueue::Receiveor COutputQueue::ReceiveMultiplein this object and bBatchExactis FALSE, the samples will be sent anyway.
If bBatchExactis TRUE, the COutputQueue::SendAnywaymember function will cause the samples to be sent to the thread (if the thread is created).