[Live-devel] Newbie with a DirectShow headache

John Orr john.orr at scala.com
Thu Oct 7 12:12:00 PDT 2010


  Iain,

I played with that same rtspdirectshow sourceforge project a few months 
back while trying to get my feet wet on live555 and apply it to 
DirectShow.  That project is certainly not cooked all the way.  It been 
a while, but I think the author there struggled with parsing out proper 
media characteristics for video (like width and height).  If I recall 
correctly, they hard coded width and height on their video out pin.

The author there apparently borrowed some parts from the RTSP client 
code from VLC.  The code in the wrapper's live.cpp module is obviously a 
modified version of vlc/modules/demux/live555.cpp.  FWIW, in 
vlc/modules/access/rtsp/access.c, you also see some similar code.

That code doesn't implement a formal live555 "sink" object, which would 
be more in line with recommendations you'll find on this list:

http://www.live555.com/liveMedia/faq.html#control-flow
http://lists.live555.com/pipermail/live-devel/2010-June/012199.html




I did come across a better open source directshow source filter that 
uses a sink object:

http://videoprocessing.sourceforge.net/

There are a handful of DirectShow filters in there, one is an 
rtspsourcefilter built on live555.  I think at the moment it's audio 
only, but adding other media types shouldn't be that hard.  I found this 
code quite a bit better than the other project although it does have 
other flaws.  I recall that I hit some multithreading issues in some 
edge cases while starting and shutting down.

--Johno




More information about the live-devel mailing list