Gets a buffer from the sample, by index.
Note
In most cases, it is safer to use the IMFSample::ConvertToContiguousBuffer method. If the sample contains more than one buffer, the ConvertToContiguousBuffer method replaces them with a single buffer, copies the original data into that buffer, and returns the new buffer to the caller. The copy operation occurs at most once. On subsequent calls, no data is copied.
public:
HRESULT GetBufferByIndex(
DWORD dwIndex,
IMFMediaBuffer **ppBuffer
)
dwIndex
Type: DWORD
Index of the buffer. To find the number of buffers in the sample, call IMFSample::GetBufferCount. Buffers are indexed from zero.
ppBuffer
Type: IMFMediaBuffer **
[out] Receives a pointer to the IMFMediaBuffer interface. The caller must release the interface.
Type: HRESULT
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
| Return code | Description |
|---|---|
| S_OK | The method succeeded. |
| E_INVALIDARG | NULL pointer argument, or the index is out of range. |
Refer to Media Foundation return codes.
A sample might contain more than one buffer. Use the GetBufferByIndex method to enumerate the individual buffers.
Header: Declared in mfobjects.h (include mfidl.h).
Library: Use mfuuid.lib.