[Live-devel] DarwinInjector and openRTSP

John Georgas jgeorgas at uci.edu
Sun Jul 25 15:56:21 PDT 2004


Thanks in advance for any help...

I'm trying to modify openRTSP to work with the DarwinInjector class (the
DSS won't accept the ANNOUNCE from openRTSP, but will accept the inject
from testMPEG4VideoToDarwin).

I'm essentially modifying the code under the -R option, setting up a
DarwinInjector, and pointing it to the DSS server. Then, I shadow (reuse 
:)) the code in openRTSP, and play each subsession through to the RTPSink.

The end result is that the new .sdp file is created on the DSS side, but 
no stream flows when a player is pointed at this newly created SDP.

Here's snippets of relevant code:

*****

// Setting up the groupsock with destAddr.s_addr = 0
Groupsock* destGS = new Groupsock(*env, destAddr, 0, 255);

RTPSink* destRTPSink = MPEG4ESVideoRTPSink::createNew(*env, destGS, 96);

const unsigned estBand = 800;
gethostname((char *)name, maxLen);
RTCPInstance *destRTCP = RTCPInstance::createNew(*env, destGS, estBand, 
name, destRTPSink, NULL);

DarwinInjector* injector = DarwinInjector::createNew(*env, progName);
injector->addStream(destRTPSink, destRTCP);
injector->setDestination(destURL, streamName, progName, streamDesc);

MediaSubsessionIterator iter(*session);
MediaSubsession *sourceSubsession = NULL;
while ((sourceSubsession = iter.next()) != NULL) {
   // Are the translators needed?
   RTPTranslator* rtpTrans = RTPTranslator::createNew(*env, 
sourceSubsession->readSource());
   destRTPSink->startPlaying(*rtpTrans, subsessionAfterPlaying, 
sourceSubsession);
}

*****

I'm probably missing something really obvious, but I'd appreciate any 
pointers or help you may be able to provide...

Thanks,

John


More information about the live-devel mailing list