Share via


IDMOVideoOutputOptimizations::GetCurrentSampleRequirements (Compact 2013)

3/26/2014

This method retrieves the optimizations required to process the next sample, given the optimizations already agreed to by the application.

Syntax

HRESULT GetCurrentSampleRequirements(
  ULONG ulOutputStreamIndex,
  DWORD* pdwRequestedFeatures
);

Parameters

  • ulOutputStreamIndex
    Zero-based index of an output stream on the DMO.
  • pdwRequestedFeatures
    Pointer to a variable that receives the required optimizations. The returned value is a bitwise combination of zero or more flags from the DMO_VIDEO_OUTPUT_STREAM_FLAGS enumeration.

Return Value

Returns an HRESULT value. Possible values include the following.

Value

Description

S_OK

Success

DMO_E_INVALIDSTREAMINDEX

Invalid stream index

E_POINTER

NULL pointer argument

Remarks

After an application calls the IDMOVideoOutputOptimizations::SetOperationMode method, it must provide all the optimizations it has agreed to. However, the DMO might not require every optimization on every sample. This method enables the DMO to waive an agreed-on optimization for one sample.

Before processing a sample, the application can call this method. If the DMO does not require an optimization to process the next sample, it omits the corresponding flag from the pdwRequestedFeatures parameter. For the next sample only, the application can ignore the optimization. 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 optimizations with this method.

Requirements

Header

dmo.h

Library

Dmoguid.lib

See Also

Reference

IDMOVideoOutputOptimizations
IDMOVideoOutputOptimizations::SetOperationMode
IMediaObject::ProcessOutput
DMO_VIDEO_OUTPUT_STREAM_FLAGS
DMO Error Codes