> How to invoke a RTCP BYE message to the client from the RTSP Server > application (e.g testOnDemandRTSPServer) ?
This will happen automatically when the stream ends - i.e., when the server reaches the end of the file that's being streamed. There is nothing that you need to do to get this; the server will send this automatically. There are exceptions to this, however. If the file being streamed has a known 'range' - as reported in the SDP description that the server sends in response to the RTSP "DESCRIBE" - then the server will not send a RTCP "BYE" when it reaches the end of the file. The reason for this is that files with a known range are typically also 'seekable'. By not sending a RTCP "BYE" when the server reaches the end of this kind of file, the stream will be kept alive, which allows the client - if desired - to seek backwards in the stream, to replay part or all of it. In our current implementation, the following file types are 'seekable', have a known 'range', and thus our server will *not* send a RTCP "BYE" when it reaches the end of a file: - DV video files - MP3 audio files - MPEG Transport Stream files (with corresponding 'index' files) - WAV audio files A client that is receiving this kind of file therefore can't expect to receive a RTCP "BYE" to signal 'end of stream'. Instead, it should call "MediaSession::playEndTime()" (and "MediaSession::playStartTime()") to figure out the duration of the stream, and set a timer for this duration. (See, for example, the code for "testRTSPClient".) Other kinds of files - e.g., AC-3, AAC, AMR, H.264, MPEG-4 - do not have a known 'range', are not 'seekable', and thus - for such files - the server *will* send a RTCP "BYE" when it reaches the end of the file. 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