| Previous | Next |
| MF_E_UNRECOVERABLE_ERROR_OCCURRED | MF_E_SAMPLE_NOT_WRITABLE |
MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS
MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS is a sample-layout problem. An IMFSample owns an ordered list of IMFMediaBuffer objects, and AddBuffer appends another buffer to that list. The failing component has rejected the resulting buffer count.
Inspect the sample before handing it off
- Call
GetBufferCountand log the count immediately before the failing API. - Trace where each buffer was added; accidental reuse of a sample without
RemoveAllBufferscan accumulate buffers across iterations. - When the consumer needs one linear buffer, use
ConvertToContiguousBuffer. It replaces a multi-buffer list with a single buffer containing copied data.
Do not blindly delete buffers, because buffer boundaries can be meaningful to the producer. First verify the receiving API's sample contract and preserve the complete byte sequence. Microsoft notes that most samples normally contain a single buffer; the Wine interface definition independently exposes the same buffer-list operations.
Microsoft: IMFSample::AddBuffer · Microsoft: ConvertToContiguousBuffer · Wine: IMFSample buffer-list contract
Looking for a different code? Search another status or error code.