[vlc-devel] [PATCH] demux/adaptive: fix incorrect PCR

Zhao Zhili wantlamy at gmail.com
Mon Jul 10 05:34:53 CEST 2017


Hi Francois,

On Sun, Jul 9, 2017 at 11:20 PM, Francois Cartegnie <fcvlcdev at free.fr>
wrote:

> Le 07/07/2017 à 05:56, Zhao Zhili a écrit :
> > ---
> >  modules/demux/adaptive/plumbing/FakeESOut.cpp | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/modules/demux/adaptive/plumbing/FakeESOut.cpp
> > b/modules/demux/adaptive/plumbing/FakeESOut.cpp
> > index 781f2c8..3ae04a4 100644
> > --- a/modules/demux/adaptive/plumbing/FakeESOut.cpp
> > +++ b/modules/demux/adaptive/plumbing/FakeESOut.cpp
> > @@ -378,6 +378,7 @@ int FakeESOut::esOutControl_Callback(es_out_t
> *fakees,
> > int i_query, va_list args
> >              else
> >                  i_group = 0;
> >              int64_t  pcr = va_arg( args, int64_t );
> > +            me->checkTimestampsStart( pcr );
> >              pcr += me->getTimestampOffset();
> >              AbstractCommand *command =
> > me->commandsqueue->factory()->createEsOutControlPCRCommand( i_group,
> pcr );
> >              if( likely(command) )
>
> I don't know what you're trying to fix, but that implies a lot of tests.
>
> Since pcr in adaptive is only used for stream progress, that means you
> have an incorrect buffering level bug.
>
>
Yes, I have an incorrect buffering level bug. es_out_Control()
ES_OUT_SET_PCR can be
called before es_out_Send(), so the first PCR didn't plus
timestamps_offset. Discontinuities
of PCR lead to incorrect buffering level, for example:

[00007effe80009e0] core input debug: Stream buffering done (526633 ms in
8058 ms)



> Francois
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20170710/77e63543/attachment.html>


More information about the vlc-devel mailing list