Search code examples
uwpms-media-foundation

Decoding an MP4 Stream From Network UWP


In a standard Win32 C++ program, the approach seems to be to call MFCreateTempFile and use the IMFByteStream object from this to create a source reader with MFCreateSourceReaderFromByteStream: Create IMFByteStream from byte array

This method is unavailable in UWP and the second suggestion in the above link is also unavailable.

I want to decode my fragmented MP4 stream but I have absolutely no idea how to go about doing this given the only solutions I've found are not possible.

Does anyone have a suggestions on how I could achieve this?

Thanks, Peter


Solution

  • For brevity I'll summarise:

    In order to use the SourceReader object with a raw byte stream, you need either MFCreateTempFile or SHCreateMemStream. Both methods are unavailable on UWP and are only available on desktop.

    You will need to directly use theCLSID_MSH264DecoderMFT transform.