[Live-devel] Find a particular rtsp session

Ross Finlayson finlayson at live555.com
Fri Jun 10 20:14:53 PDT 2011


>Is there a way to find a specific rtsp client session? I currently 
>have the RTSPServer object, and I would like a way to search it's 
> connected clients for a specific connection and ultimately get it's 
>FramedSource object so that I can tell it to stop sending frames, 
>send one frame every couple seconds, send one frame, send last 
>frame, play normal, etc
>
>The stream controls (send one frame, send last frame) are sent to me 
>via a webservice and I have to manipulate the way I send out frames 
>to a particular already connected rtsp client.
>
>Is there an easy way of doing what I have described? Thanks in advance!

There's no way to do this with the supplied "RTSPServer" 
implementation 'as is', because it does not maintain any data 
structure that keeps track of the "RTSPClientSession" objects as 
they're created/deleted (because, with this basic implementation, 
such a data structure is not needed).

However, you can get the functionality you want by subclassing.  You 
should be able to do this without modifying the existing code.

Specifically, you would define your own subclass of "RTSPServer", and 
reimplement the virtual function "createNewClientSession()" so that 
it not only creates a new "RTSPClientSession" object, but also 
records it in some data structure (that you would define) that you 
want to use for searching.  Of course, you'll also need to keep track 
of the *deletion* of each "RTSPClientSession" object, so you'll 
probably also want to subclass "RTSPClientSession", and implement a 
(virtual) destructor in the subclass that removes itself from your 
data structure.

-- 

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


More information about the live-devel mailing list