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/
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to