[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