[vlc-devel] [PATCH] access: live555: fix spurious PCR_RESET on RTCP clock synchronization
etix at videolan.org
Mon Aug 8 15:58:43 CEST 2016
On Mon, Aug 8, 2016, at 15:35, Rémi Denis-Courmont wrote:
> 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.
That was what my first naive implementation was doing (see attached
patch). But obviously that won't work for multiple ES. Maybe this idea
can be extended to keep all the ES in sync?
> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2022 bytes
Desc: not available
More information about the vlc-devel