Our application uses IGraphBuilder::RenderFile
to build filter graph. On Windows 7, this application can play MPEG-PS videos smoothly, but it cannot open/play MPEG-TS(transport stream) videos. IGraphBuilder::RenderFile
returns an error code VFW_E_UNSUPPORTED_STREAM
.
On my Windows 7, Windows Media Player can open/play those MPEG-TS HDV videos.
My questions are:
- Is it possible to load/play MPEG-TS videos by DirectShow on Windows 7, with only filters installed by Windows 7? Because it is best for us not to ask users to install some third-party DirectShow filters.
- If it is impossible, is there some popular codecs that can handle MPEG-TS HDV, and also fit in DirectShow at best.
Some more details I've tried:
I also tried GraphEdit in Windows SDK. It gave the same error when opening those MPEG-TS videos.
If I added one MPEG-TS video as a
File Source(Async)
, its output pin was marked asMajor Type: Stream, SubType: GUID_NULL
, and cannot be connected to other filters, such asMPEG-2 Demultiplexer
.More frustrated, MSDN says
MPEG-2 Demultiplexer
does demultiplex both of MPEG-2 transport and program streams.
So, it is very likely that I missed something. After days of digging, I am now very desperate on this problem now. Any advices are welcome and appreciated.
Thanks
Fan