[vlc-devel] [PATCH v2] Reset p_context->skip_frame when done seeking
Marc Aldorasi
m101010a at gmail.com
Mon Aug 19 02:02:25 CEST 2019
It's unrelated; I meant to reply to the response to the previous
iteration of this patch:
https://mailman.videolan.org/pipermail/vlc-devel/2019-August/126684.html
. Sorry for the confusion.
On Sun, Aug 18, 2019 at 2:27 PM Marvin Scholz <epirat07 at gmail.com> wrote:
>
>
>
> On 18 Aug 2019, at 19:31, Marc Aldorasi wrote:
>
> > Ping for review
>
> Is this related to "[PATCH] input: merge position and length events" or
> did
> you sent this as reply to that by accident?
>
> >
> > On Mon, Aug 5, 2019 at 11:39 PM Marc Aldorasi <m101010a at gmail.com>
> > wrote:
> >>
> >> Previously, if p_sys->b_hurry_up was false and we weren't seeking,
> >> the
> >> value of p_context->skip_frame would not be modified. This means
> >> that
> >> if we started seeking we would set p_context->skip_frame to
> >> AVDISCARD_NONREF, and then when we finished seeking we wouldn't
> >> change
> >> p_context->skip_frame and it would still be skipping non-reference
> >> frames, causing choppy playback. This patch resets
> >> p_context->skip_frame when we're not seeking so playback is smooth.
> >> ---
> >> modules/codec/avcodec/video.c | 14 ++++++--------
> >> 1 file changed, 6 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/modules/codec/avcodec/video.c
> >> b/modules/codec/avcodec/video.c
> >> index 2232b7a291..d9be9d4a61 100644
> >> --- a/modules/codec/avcodec/video.c
> >> +++ b/modules/codec/avcodec/video.c
> >> @@ -1031,15 +1031,13 @@ static int DecodeBlock( decoder_t *p_dec,
> >> block_t **pp_block )
> >> else
> >> b_need_output_picture = false;
> >>
> >> - /* Change skip_frame config only if hurry_up is enabled */
> >> - if( p_sys->b_hurry_up )
> >> - {
> >> - p_context->skip_frame = p_sys->i_skip_frame;
> >> + p_context->skip_frame = p_sys->i_skip_frame;
> >>
> >> - /* Check also if we should/can drop the block and move to
> >> next block
> >> - as trying to catchup the speed*/
> >> - if( p_dec->b_frame_drop_allowed )
> >> - p_block = filter_earlydropped_blocks( p_dec, p_block );
> >> + /* Check if we should/can drop the block and move to the next
> >> block
> >> + to try to catchup */
> >> + if( p_sys->b_hurry_up && p_dec->b_frame_drop_allowed )
> >> + {
> >> + p_block = filter_earlydropped_blocks( p_dec, p_block );
> >> }
> >>
> >> if( !b_need_output_picture || p_sys->framedrop ==
> >> FRAMEDROP_NONREF )
> >> --
> >> 2.22.0
> >>
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list