[Live-devel] patch to make MPEG1or2FileServerDemux seekable

Ross Finlayson finlayson at live555.com
Sat Jul 3 00:44:03 PDT 2010


>For some reasons i want to have class MPEG1or2FileServerDemux seekable
>to have the possibility to seek on the input file.

I'm a bit puzzled as to why you want to do this.  A 
"MPEG1or2FileServerDemux" is used only within a 
"MPEG1or2DemuxedServerMediaSubsession" (to implement a RTSP server 
that streams a MPEG Program Stream file), and 
"MPEG1or2DemuxedServerMediaSubsession" already implements the 
"seekStreamSource()" virtual function, which seeks within the input 
file source, but also does other important things (in particular, 
flushing buffers).  In general, just seeking within the input file 
(which is what your new "SeekStream()" function does) is not 
sufficient.

So I'm not sure why you would want to have a separate "SeekStream()" 
function on the "MPEG1or2FileServerDemux" object, and I'm concerned 
that adding it would confuse developers.  So I won't be adding this 
to the library code.

What you can do, however, is define your own subclass of 
"MPEG1or2FileServerDemux" that defines your "SeekStream()" member 
function, and pass an object of this subclass (rather than the base 
class) to "MPEG1or2DemuxedServerMediaSubsession::createNew()".

(This is another example of a situation where you can (and should) 
customize the supplied library code by subclassing, rather than 
modifying it.)
-- 

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


More information about the live-devel mailing list