Hi, David,
Thanks for using Windows Media Format SDK. By default, the SDK reader will
decompress samples for you so that you will get uncompressed samples from
IWMReader::OnSample(). If you need to receive compressed samples, you then
need to call IWMReaderAdvanced::SetReceiveStreamSamples( wStreamNum, TRUE )
and you also need to implement IWMReaderCallbackAdvanced interface.
Now assume you would like to get uncompressed samples from the SDK reader.
After you open the file, you can use IWMReader::GetOutputCount() along with
IWMReader::GetOutputProps() to enumerate the outputs and their properties.
For IWMReader::GetOutputProps() call, you will get an IWMOutputMediaProps()
pointer, which inherits from IWMMediaProps. Then you can call
IWMMediaProps::GetType() or IWMMediaProps::GetMediaType() to check the
media type (audio, video, etc) for that output. You can keep this info in
some data structure. Then in IWMReader::OnSample() call, the first
parameter is dwOutputNum, from which you can tell the media type from your
data structure mentioned above.
For details, please see Windows Media Format SDK help documention
"Programming Guide" section.
Hope this helps,
Gary Zhou
============================================================================
This posting is provided "AS IS" with no warranties, and confers no rights.