[Live-devel] AMR RTCP Synchronization

Ross Finlayson finlayson at live555.com
Fri Apr 9 10:24:02 PDT 2010


>I can't see a reason why the RawAMRRTPSource overrides
>hasBeenSynchronizedUsingRTCP

The intention was to make it work properly if AMR frames are 
interleaved within RTP packets.  Suppose, for example, that
- the first received RTP packet contains AMR frames 1,4,7
- the second received RTP packet contains AMR frames 2,5,8
- the third received RTP packet contains AMR frames 3,6,9
And suppose that the first received RTP packet is not 
RTCP-synchronized, but that the second, third etc. received RTP 
packets are RTCP-synchronized.  In this case, when we deinterleave - 
and then deliver - the received AMR frames, we want to report that 
RTCP synchronization has occurred only for AMR frames starting with 
frame number 8 (because once "hasBeenSynchronizedUsingRTCP()" returns 
True, it is assumed to always return True from then on).

However, it's now clear from the code that I didn't properly complete 
this implementation - i.e., you've discovered a bug in the code.  I 
will try to fix this soon.  In the meantime, please disable the 
reimplementation of the "hasBeenSynchronizedUsingRTCP()" virtual 
function - as you have done.
-- 

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


More information about the live-devel mailing list