[vlc-devel] [PATCH] access: live555: fix spurious PCR_RESET on RTCP clock synchronization

Rémi Denis-Courmont remi at remlab.net
Mon Aug 8 15:35:05 CEST 2016


Le 2016-08-08 14:58, Ludovic Fauvet a écrit :
> On Fri, Aug 5, 2016, at 23:41, Francois Cartegnie wrote:
>> ---
>>  modules/access/live555.cpp | 61
>>  +++++++++++++++++++++++++++++++++-------------
>>  1 file changed, 44 insertions(+), 17 deletions(-)
>
> Hello François,
>
> I was quite doubtful at first but this patch indeed fixes the issue 
> of
> the PCR RESET on RTCP sync that can be reproduced with the Axis 
> camera I
> have in my office. I cannot challenge what has been said by Rémi but
> still, I see this patch as an improvement over the initial code which 
> is
> wrong and partially broken.
>
> So except if someone has a strong opinion, I would be in favor of
> pushing it.

There are basically two cases. If you have a single ES, then this patch 
is overkill. You just need to "stitch" the PTS from before the first 
RTCP-SR with those after it. I am not sure if live555 provides the 
necessary infos, but if it does not, you can't really make it up anywya.

If you have more than one ES, then the relative offset *between* the 
ESes *will* change at first RTCP-SR (or actually, it will become 
well-defined). There you *must* reset the PCR. If you don't, the 
different ESes will be permanently out of sync. Repeating myself here, 
but the glitch at first RTCP-SR is a known "feature" of the RTP/RTCP 
protocol. You can't avoid it unless you wait for first RTCP-SR on each 
ESes before play out.

-- 
Rémi Denis-Courmont
Looking for a job
http://www.remlab.net/


More information about the vlc-devel mailing list