[Live-devel] DarwinInjector and openRTSP

Ross Finlayson finlayson at live.com
Sun Jul 25 16:59:50 PDT 2004


>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.

First, let's step back and ask: What is it that you are actually trying to 
accomplish?  The "-R" option to "openRTSP" (and "playSIP") is an 
undocumented hack that I implemented for a customer more than a year 
ago.  The idea was to support receiving a PCM stream from a SIP phone call 
(using "playSIP"), and then injecting this stream into a remote Darwin 
Streaming Server (so that (potentially multiple) clients could play the 
stream).  As I noted, it was basically a hack, which is why I never 
bothered updating this code to use the new "DarwinInjector" support.

But what is it that you are trying to accomplish?  Are you trying to set up 
some sort of RTSP/RTP proxy - relaying a single incoming RTSP/RTP session 
into (potentially multiple) clients?  Why just not use the original 
"rtsp://" URL for all clients?

>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.

At first glance, what you're doing looks OK, although the "RTPTranslator"s 
aren't really needed (since they do a direct relay).  Instead, you could 
just play your "destRTPSink" directly from 
"sourceSubsession->readSource()".  However, you can use the "RTPTranslator" 
code to do debugging.  In particular, does 
"RTPTranslator::doGetNextFrame()" get called (it should), and does 
"RTPTranslator::afterGettingFrame()" get called (it will, iff data is 
coming in on your "sourceSubsession").



	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list