[Live-devel] OnDemandServerMediaSubSession

Aeschbacher Fabrice Fabrice.Aeschbacher at siemens.com
Tue Jun 28 10:35:55 PDT 2005


Hi Ross,

> >I had to declare PassiveServerMediaSubsession's constructor, 
> >destructor and startStream() method as 'protected' in 
> >PassiveServerMediaSubsession.hh (were: 'private'). What do you think 
> >about changing this in your official source code?
> 
> OK, I'll do this in the next release.

Thanks.

> 
> > 'startStream()' is getting called, whereas 'deleteStream()' actually

> > never does. I tried with different client: mplayer, openRTSP,
Quicktime 
> > and VLC. Any idea?
> 
> Not really.  "deleteStream()" should be called by 
> "RTSPServer::RTSPClientSession::reclaimStreamStates()", which 
> should in turn be called by 
> "RTSPServer::RTSPClientSession::~RTSPClientSession()",
> which should be called by
> "RTSPServer::RTSPClientSession::incomingRequestHandler1()", 
> just after handling an incoming RTSP "TEARDOWN" command.  
> Check the code
> ("RTSPServer.cpp") to see why that's not happening in your case.
> 

. I turned the debug infos on in
"RTSPServer::RTSPClientSession::incomingRequestHandler1()": this showed
that none of mplayer, openRTSP, VLC sends a RTSP "TEARDOWN", neither
when stopping, nor when exiting.

. I tried to make use of "reclamationTestSeconds" when calling
"RTSPServer::createNew"; unfortunately, this doesn't help,
"deleteStream()" still doesn't get triggered. I tested with 1 and 2
seconds.

. I saw following comment, at the end of
RTSPServer::incomingConnectionHandler1():

  // Create a new object for this RTSP session:
  // (Later, we need to do some garbage collection on sessions that
#####
  //  aren't closed down via TEARDOWN) #####

Isn't that what I actually need? Do you have any idea about how doing
this?

Best regards,
Fabrice Aeschbacher



More information about the live-devel mailing list