<DIV>
<P>Hi Ross,<BR>we have added some classes to Live.com. You can find this files attached<BR>to this mail. This add allow to client to request OnDemand multicast<BR>stream through RTSP. All client requesting the same stream get the sema<BR>SDP description and will share this stream with the first client. New<BR>client who requests the same video after some delay (given to the<BR>createNew function as a parameter) gets a new instance of the video on a<BR>new RTPSink (so a new RTCP instance and a new SDP description) and so<BR>on...<BR>Basically we have added these classes :<BR> OnDemandMulticastServerMediaSubsession<BR> FileMulticastServerMediaSubsession<BR> MPEG2TransportFileMulticastServerMediaSubsession<BR>the OnDemandMulticastServerMediaSubsession:createNew function takes the<BR>multicast address, the RTP port, the env and a delay parameters. after<BR>this delay we change the RTPSink/RTCPInstance(this is a personnal<BR>requirment!!) and the client
requesting this multicast stream after this<BR>delay get a new SDP description and get a new instance of the video all<BR>clients arriving within this delay share the same stream. The RTP port is<BR>incremented by 2 for each new multicast session (opened after the delay).<BR>we have also created new classes that implement createNewRTPSink and<BR>createNewStreamSource which is<BR>MPEG2TransportFileMulticastServerMediaSubsession class .<BR>We gave test this new feature by adding a new OndemanMulticastSession (for<BR>a mpeg2 TS) in the testOnDemandRTSPServer. And here is the add :<BR><BR>{<BR> char const* streamName = "mpeg2MulticastTSTest";<BR> char const* fileName = "test.ts";<BR> unsigned acceptedDelayTime = 60;<BR> char* firstMulticastAddress = "232.255.42.42";<BR> //firstMulticastAddress[12]='\0';<BR>
unsigned NumRTPPort = 6666;<BR> *env <<"l'adresse utilisee est "<<firstMulticastAddress<<"\n";<BR> ServerMediaSession* sms<BR> = ServerMediaSession::createNew(*env, streamName, streamName,<BR> descriptionString);<BR><BR> sms->addSubsession(Mpeg2TransportFileMulticastServerMediaSubsession<BR> ::createNew(*env, acceptedDelayTime,firstMulticastAddress,<BR>NumRTPPort,fileName));<BR> rtspServer->addServerMediaSession(sms);<BR><BR> char* url =
rtspServer->rtspURL(sms);<BR> *env << "\n\"" << streamName << "\" stream, from the file \""<BR> << fileName << "\"\n";<BR> *env << "Play this stream using the URL \"" << url << "\"\n";<BR> delete[] url;<BR>}<BR><BR>Please check this and i'm waiting for your replay!!!<BR>Best regards<BR></P></DIV><p>
                <hr size=1>
Découvrez le nouveau Yahoo! Mail : <font color="red">250 Mo d'espace</font> de stockage pour vos mails !<br><a href="http://fr.rd.yahoo.com/mail/taglines/*http://us.rd.yahoo.com/evt=25917/*http://us.rd.yahoo.com/mail_fr/mail_campaigns/splash/taglines_250/default/*http://fr.promotions.yahoo.com/mail/creer28.html">Créez votre Yahoo! Mail</a>