[Live-devel] RTCP Bye in PassiveServerMediaSession

Ross Finlayson finlayson at live555.com
Fri Oct 17 06:27:43 PDT 2008

> >>  In other words, once I do the above, what else
> >> do I have to do to clean up in rebuild again in preparation of
> >> streaming the next file?
> >
> > If you want to keep the existingoutput network connections, and continue
> > streaming the next file, then you don't need to make *any* changes to the
> > existing code.  In particular, you should *not* be sending any RTCP "BYE"
> > packet in this case.
>I am looking at the vobstreamer as a starting model for an application
>that will stream other codecs (H264, MPEG4) such that the next file
>may be very different from the 1st,

It's not possible to do this within a single RTSP/RTP session, 
because the client needs to get new information (SDP) about each new codec.

To do what you want, you will need to create a new RTSP protocol 
exchange ("DESCRIBE", "SETUP", "PLAY") for each new stream.  You 
should be using "oipenRTSP" - not "vobStreamer" - as your model.

>  so that I want the client code to
>see the RTCP BYE and re-request a fixed SMS over RTSP

No, you can't (reliably) use RTCP "BYE" to trigger this, because the 
server will not always send a "BYE" when it reaches the stream.  If 
the stream is 'seekable', then the server will not send a "BYE", so 
as to allow the client - if it wishes - to seek to an earlier point 
in the stream and continue playing it.  For 'seekable' streams, 
"openRTSP" (and other RTSP clients) uses the *duration* of the stream 
(which is obtailed from the SDP description in the "DESCRIBE" 
response) to figure out how long the stream lasts.

Once again, you should use "oipenRTSP" - not "vobStreamer" - as your 
model.  In fact, I suggest reading/playing each new stream using a 
separate *process* (i.e., application), rather than trying to do 
everything within a single process.

	Ross Finlayson
	Live Networks, Inc. (LIVE555.COM)

More information about the live-devel mailing list