On 22 apr 2014, at 19:01, Jan Ekholm <jan.ekh...@d-pointer.com> wrote:
> 
>>> Also, is there some way to know when all clients have disconnected from a 
>>> RTSP source
>>> so that I could stop grabbing and encoding frames?
>> 
>> This should happen automatically.  I.e., when the last concurrent RTSP 
>> client has disconnected (or timed out), then your media source class's 
>> destructor will get called.  Therefore, you should write your media source 
>> class's destructor so that it stops grabbing/encoding.
>> 
>> Don't forget to have your subclass of "OnDemandServerMediaSubsession" set 
>> the "reuseFirstSource" parameter to True when it calls the 
>> "OnDemandServerMediaSubsession" constructor.  This will ensure that no more 
>> than one instance of your media source class will ever be created 
>> concurrently, regardless of the number of concurrent RTSP clients.
> 
> Yes, that happens for the H264 source, but not for the MJPEG one. I have 
> reuseFirstSource set to true as
> the camera can only be opened once. I will have to dig deeper so see why the 
> MJPEG source does not stop.
> Both OnDemandServerMediaSubsession are very similar, apart from the H264 one 
> having the extra dummy
> sink to get the aux data.

I don't see any of my destructors called for any of my subclasses when I 
disconnect my client. However,
when the client initially connects there is a somewhat strange sequence of 
calls. First there are the
expected calls:

createNewStreamSource()
createNewRTPSink()

to my OnDemandServerMediaSubsession subclass. These set up a JPEGVideoSource 
subclass
and a standard JPEGVideoRTPSink. Immediately after this the destructor for my 
JPEGVideoSource 
is called and the source is cleaned up. After this I again get:

createNewStreamSource()
createNewRTPSink()

and now the streaming starts and never stops. Is it possible to enable some 
kind of debugging 
output for Live555? I suspect that the somewhat interesting reference counting 
is somehow to
blame, i.e. that I perhaps don't understand it at all and cause my objects to 
be immortal.


-- 
Jan Ekholm
jan.ekh...@d-pointer.com




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

Reply via email to