Freigeben über


Rendering MMS, RTSP and HTTP with DirectShow in Vista and Windows 7

I was talking to a DirectShow engineer the other day that was having issues rendering URLs using DirectShow on XP and Vista. He noticed that the behavior was very different between the two operating systems. Luckily I was privy to a very interesting conversation between the original developer of the WM ASF Writer filter and a number of PMs that were trying to figure out why rendering URLs appeared to be broken on Vista.

From what I learned from the conversation, when you render a URL in DirectShow on XP, the source filter that is added to the graph is from WMP 6.4. This filter is very old and has not been updated in a long while. In fact this filter no longer ships on Vista and will not ship on Win 7.

There are some interesting distinctions between different URL sources. We basically have four different URL protocols supported by the Windows Media subsystem. MMS, RTSP and two flavors of HTTP, standard HTTP (from a web server) and HTTP streaming. On Vista if you try to render a stream in DirectShow using MMS or RTSP you will get an error stating the no source filter could be found. This is due to the fact that these two protocols are not registered by default. HTTP (both flavors) however will work as expected since this protocol is registered.

At this time there is no good solution for rendering URLs on Vista or Win7 in DirectShow. Since the WMP 6.4 components are missing the only filter that could possibly handle MMS, RTSP or HTTP for ASF formatted files would be the WM ASF Reader. Attempts to get the WM ASF Reader to render these protocols on Vista and Win 7 by default has met with resistance here at Microsoft. The WM ASF reader was not designed to work with a URL as a source (although it is possible to force it to load from a URL). It was determined early on that getting the WM ASF reader filter to work properly as a URL source would be too costly.

All current development effort here at Microsoft in the media space has been put into the new Media Foundation (MF) platform. This new platform is the planned replacement for the aging DirectShow. Unfortunately MF doesn't yet have full parity with DirectShow. Windows 7 improves the MF platform greatly and it is my hope that we will finally have a ready replacement for DirectShow in Windows 7.