[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