IAMVideoAccelerator::ReleaseBuffer method

The ReleaseBuffer method releases a buffer that was locked by a previous call to IAMVideoAccelerator::GetBuffer.

Syntax


HRESULT ReleaseBuffer(
  [in] DWORD dwTypeIndex,
  [in] DWORD dwBufferIndex
);

Parameters

dwTypeIndex [in]

The surface type of the buffer. Use the same value that was passed to the dwTypeIndex parameter of the GetBuffer method.

dwBufferIndex [in]

The zero-based index of the buffer. Use the same value that was passed to the dwBufferIndex parameter of the GetBuffer method.

Return value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

Return codeDescription
E_FAIL

Failure.

E_INVALIDARG

Argument is invalid.

E_NOTIMPL

Method is not supported.

E_POINTER

NULL pointer argument.

S_OK

Success.

VFW_E_INVALIDSUBTYPE

The decoder did not use a DXVA decoding type when it connected to the video renderer.

VFW_E_NOT_CONNECTED

The pins on the decoder and video renderer filters are not connected.

 

Remarks

If the filter's pins are not connected, the method returns VFW_E_NOT_CONNECTED.

This method unlocks a single buffer. The video decoder calls this method when the buffer is no longer required, after any calls to IAMVideoAccelerator::Execute have been made using that buffer.

The buffer pointer obtained from GetBuffer is no longer valid after this call.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Videoacc.h

Library

Strmiids.lib

See also

Error and Success Codes
How Decoders Use IAMVideoAccelerator
IAMVideoAccelerator Interface

 

 

Show: