What does HRESULT 0xC00D36FB (MF_E_BYTESTREAM_UNKNOWN_LENGTH) mean?

 
Previous Next
MF_E_CANNOT_CREATE_SINK MF_E_SESSION_PAUSEWHILESTOPPED

MF_E_BYTESTREAM_UNKNOWN_LENGTH

MF_E_BYTESTREAM_UNKNOWN_LENGTH indicates that the active operation needs a definite stream size but the byte stream cannot provide one. IMFByteStream::GetLength represents an unknown length with a value of -1.

Separate streaming input from finite-file input

  • Log the GetLength result and the byte-stream capability flags before source resolution.
  • For HTTP or another remote source, verify whether the transport actually knows a final entity length and whether the byte-stream wrapper preserves it.
  • For a custom finite stream, return the real byte count only when it is stable and meaningful.

Do not substitute the number of bytes downloaded so far for the final length. That can corrupt duration, range, and seek calculations. If the producer is genuinely unbounded or chunked, select a Media Foundation path that supports streaming semantics or buffer the content into a finite seekable object when the requested parser requires file-like behavior.

Microsoft: IMFByteStream::GetLength · Microsoft: byte-stream capabilities · Microsoft: IMFByteStream


Looking for a different code? Search another status or error code.