> I met another bug about dealing with range time.
> Version: live.2014.12.09.tar.gz 
> <http://www.live555.com/liveMedia/public/live.2014.12.09.tar.gz>
> File: RTSPServer.cpp line: 1954 code:
> fStreamStates[i].subsession->seekStream(fOurSessionId, 
> fStreamStates[i].streamToken, absStart, absEnd);
> 
> the absStart and absEnd will be freed(deleted) in File: 
> OnDemandServerMediaSubsession.cpp line: 361

You’re misunderstanding the code.  This is the *default version* of the 
“seekStreamSource()” virtual function - i.e., the version that gets called if 
you don’t explicitly implement seeking in your own subclass of 
“OnDemandServerMediaSubsession”.  If you don’t override (i.e., implement your 
own version of) the “seekStreamSource()” virtual function (note, BTW, that 
there are two forms of this function - one for seeking by NPT (‘normal play 
time’); another for seeking by absolute time), then this default version of the 
function will get called, and the RTSP response will have a “range: 0-0” 
header, to show that the server (by default) does not implement seeking.

Therefore, to implement seeking by absolute time, your subclass of 
“OnDemandServerMediaSubsession” must reimplement the “seekStreamSource()” 
virtual function (the second version - the version that supports seeking by 
absolute time - if that’s what you want to do).

See
        http://live555.com/liveMedia/faq.html#trick-mode 
<http://live555.com/liveMedia/faq.html#trick-mode>
(although that web page mentions only the first (NPT, i.e., ‘normal play time’) 
version of “seekStreamSource()”, because most developers want to implement only 
seeking by NPT).


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

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to