[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