[Live-devel] SubClassing "OnDemandServerMediaSubsession"

Gaurav Badhan gauravb at interfaceinfosoft.com
Thu Feb 14 06:07:55 PST 2013


Hello Ross,

First of all thanks for your support on the topic
"OnDemandServerMediaSubsession".
And sorry if i am making noise on the mailing list by again asking that
someone has already asked under
the subject "Please reply query on Proxy Server" that How can Live 555
proxy server code can be used in Thread?
and you have replied that
The existing "LIVE 555 Proxy Server" can *already* stream concurrently from
multiple back-end servers.  It does this as a single-threaded application
(using an event loop, rather than threads, for concurrency)

But the issue is that if am receiving one stream from backend rtsp server
and then i want another stream to receive i call the proxy server media
with new env and scheduler and without calling the do event loop again.
This works fine.But in this case the problem is if i stop the the client
that is receiving the stream from first streamer and call the delete server
media seesion for that particular session as i have taken the array of
server media session object than the the stream from the another streamer
also stops displaying on the another client.

What need to be done please tell.

code is something like this:-


env = BasicUsageEnvironment::createNew(*scheduler);
sms[index]=ProxyServerMediaSession::createNew(*env, rtspServer,
proxiedStreamURL, streamName,
username, password, tunnelOverHTTPPortNum, verbosityLevel);
onlyonce++;

if(onlyonce==1)
env->taskScheduler().doEventLoop();

on stop

rtspServer->deleteservermediasession(sms[index]);

index variable maintain for which session we have got the stop command.

Thanks.

On Wed, Feb 13, 2013 at 10:44 PM, Ross Finlayson <finlayson at live555.com>wrote:

> //try catch execute when stop message come and my code break here
> try
>  {
> if(sms)
>  {
> Medium::close(sms);
>  }
>
> rtspServer->deleteServerMediaSession(sms);
> }
> catch(...)
>  {
> if(sms)
>  {
> Medium::close(sms);
>  }
>  rtspServer->deleteServerMediaSession(sms);
> }
>
> Can you please guide why my code is breaking.
>
>
> It's because you are calling "Medium::close(sms);" as well as
> "rtspServer->deleteServerMediaSession(sms);".  You shouldn't do that!  You
> should only be calling
> rtspServer->deleteServerMediaSession(sms);
> That will delete "sms" as well.
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130214/308c54a0/attachment.html>


More information about the live-devel mailing list