[Live-devel] Crash in MPEG4/H264/H265 VideoFileServerMediaSubSession

Ross Finlayson finlayson at live555.com
Thu Mar 13 14:00:57 PDT 2014


Robert,

Thanks for the note.

I found a couple of things confusing, however:

> Then I checked if it was a specific problem with my source filter by running
> the DynamicRTSPServer and request a RTSP session with VLC for an empty file
> (zero byte) 'media.h264' file. I got the same crash in the server with the
> H264VideoFileSource as I had with my source filter.

By this I presume you meant that you ran the (unmodified) "LIVE555 Media Server" with a zero-length file named "media.264" (note, *not* "media.h264"; the server doesn't handle ".h264" filename suffixes), and then tried to access it using VLC.  (Note: It is better to use "testRTSPClient" or "openRTSP" as clients to test your server, because they - unlike VLC - show the RTSP protocol exchange.)

However, when I did this, I didn't get any crash.

Can you reproduce this problem using the unmodified "LIVE555 Media Server" (with unmodified LIVE555 library code)?  (I am far more interested in problems that people can reproduce using unmodified code.)


Also, at least one part of your explanation is wrong.  You said - in a couple of places - that "fDummyRTPSink" is a pointer to your own 'source filter' object that you freed.  That's incorrect.  "fDummyRTPSink" is a pointer to a "H264VideoRTPSink" object, *not* to a "FramedSource" subclass.

However, your own explanation hinted at a possible cause of your problem.  You say that your 'source filter' object - if it runs out of data - calls "handleClosure()" to indicate this to the downstream objects.  That's OK, and good.  However, when you do this, you MUST NOT also delete the 'source filter' object (by calling "Medium::close()" on it).  This object automatically gets deleted later, by higher-level code (specifically "OnDemandServerMediaSubsession.cpp", line 70).  So, you MUST NOT ever delete that object yourself.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20140313/31ed6ce0/attachment.html>


More information about the live-devel mailing list