|Microsoft DirectX 9.0|
The GetCurrentSampleRequirements method retrieves the optimization features required to process the next sample, given the features already agreed to by the application.
HRESULT GetCurrentSampleRequirements( ULONG ulOutputStreamIndex, DWORD* pdwRequestedFeatures );
Zero-based index of an output stream on the DMO.
Pointer to a variable that receives the required features. The returned value is a bitwise combination of zero or more flags from the DMO_VIDEO_OUTPUT_STREAM_FLAGS enumeration.
Returns an HRESULT value. Possible values include those in the following table.
|DMO_E_INVALIDSTREAMINDEX||Invalid stream index|
|E_POINTER||NULL pointer argument|
After an application calls the IDMOVideoOutputOptimizations::SetOperationMode method, it must provide all the features it has agreed to. However, the DMO might not require every feature on every sample. This method enables the DMO to waive an agreed-upon feature for one sample.
Before processing a sample, the application can call this method. If the DMO does not require a given feature in order to process the next sample, it omits the corresponding flag from the pdwRequestedFeatures parameter. For the next sample only, the application can ignore the feature. The results of this method are valid only for the next call to the IMediaObject::ProcessOutput method.
The DMO will return only the flags that were agreed to in the SetOperationMode method. In other words, you cannot dynamically enable new features with this method.