[Live-devel] troubles with Vidiator

Ross Finlayson finlayson at live555.com
Wed Jul 19 17:31:54 PDT 2006


>  > You can use the function "RTPSource::hasBeenSynchronizedUsingRTCP()"
>>  to test whether or not RTCP "Sender Report"s have started arriving.
>>  
>Unfortunately I'm unable to do this in case of AMR audio (or I'm missing
>something).
>
>If I'm receiving AMR then AMRDeinterleaver is used as source of AMR
>audio. AMRDeinterleaver::isRTPSource() returns False which means that
>I'm unable to call RTPSource::hasBeenSynchronizedUsingRTCP() in this
>case. Actually AMRDeinterleaver receives data using RawAMRRTPSource
>(through FramedSource* fInputSource class member). So IMO
>AMRDeinterleaver should have some method to return fInputSource or
>implement RTPSource and forward all calls to fInputSource

No problem.  If you look at the call to 
"AMRAudioRTPSource::createNew()", you'll see that there's a result 
parameter "resultRTPSource" which returns the "RTPSource" object 
behind this.

Also, if you are accessing the stream using RTSP, you will have 
created a "MediaSubsession" object for this stream.  You can then 
call its "rtpSource()" member function to get the "RTPSource" object.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list