Hello,

I sincerely apologize if the following questions have been asked before here. 
If these have been asked and answered, I will be very grateful if someone can 
point me to appropriate discussion thread(s).

We are trying to build a system that acts like multi-channel encoder - it 
accepts RTSP streams from a number of camera, and, streams out the same to 
another network for viewing. The ProxyServerMediaSession class meets our 
requirement appropriately, and we have written our own application looking at 
the example code given.

This is how we instantiate the server, when we start our software or when a 
camera is added:

static ProxyServerMediaSession* sms [MAX_STREAMS];

    for (sidx = 0; sidx < MAX_STREAMS; sidx ++)
    {
        ...

        /* Get Stream Name */
        sprintf (streamName, "Stream-%d", (sidx+1));

        /* Create Server Media Session */
        sms[sidx] = ProxyServerMediaSession::createNew
                    (
                        *env,
                        rtspServer,
                        streamer_url[sidx],
                        streamName
                    );

        /* Add Server Media Session to RTSP Server */
        rtspServer->addServerMediaSession (sms[sidx]);

        ...
    }

Now, when we need to close down the Server, this is what we do:

    for (sidx = 0; sidx < MAX_STREAMS; sidx ++)
    {
        ...

        /* Clean up */
        rtspServer->deleteServerMediaSession (sms[sidx]);

        ...
    }


Question#1: When we close our server, we do not see the RTCP BYE being sent to 
the downstream clients viewing the streams from the server. Is this an issue 
with 'deleteServerMediaSession'? Or, should we be calling something else, or, 
do more here?

It appears the system waits for the clients to timeout and close the 
connections themselves. And when client closes the connection, after waiting an 
amount of time wanting data to come, some cleanups are triggered on the server 
side. But ideally, we would like to implement a closure method in which client 
connections are duly closed on user action on the server (server shutdown or 
camera deletion).

Question#2: We have a requirement to make the Server a multicast UDP server. 
From looking at the code, it appears ProxyServerMediaSession makes use of 
OnDemandServerMediaSubsession ... which is unicast. Is there any plan to 
support multicasting? If no, could someone guide us on steps needed to get 
multicast supported?

Thank you very much in advance.

Best regards,
Subhankar.


________________________________

http://www.mindtree.com/email/disclaimer.html
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to