[FFmpeg-devel] [PATCH] ffmpeg: remove unused and errorneous AVFrame timestamp check

wm4 nfxjfg at googlemail.com
Sun Oct 2 19:30:09 EEST 2016


On Sat,  1 Oct 2016 16:15:45 +0200
Hendrik Leppkes <h.leppkes at gmail.com> wrote:

> Decoders have previously not used AVFrame.pts, and with the upcoming
> deprecation of pkt_pts (in favor of pts), this would lead to an errorneous
> interpration of timestamps.
> ---
>  ffmpeg.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/ffmpeg.c b/ffmpeg.c
> index 9a8e65a..cdbf3d4 100644
> --- a/ffmpeg.c
> +++ b/ffmpeg.c
> @@ -2058,12 +2058,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
>              }
>      }
>  
> -    /* if the decoder provides a pts, use it instead of the last packet pts.
> -       the decoder could be delaying output by a packet or more. */
> -    if (decoded_frame->pts != AV_NOPTS_VALUE) {
> -        ist->dts = ist->next_dts = ist->pts = ist->next_pts = av_rescale_q(decoded_frame->pts, avctx->time_base, AV_TIME_BASE_Q);
> -        decoded_frame_tb   = avctx->time_base;
> -    } else if (decoded_frame->pkt_pts != AV_NOPTS_VALUE) {
> +    if (decoded_frame->pkt_pts != AV_NOPTS_VALUE) {
>          decoded_frame->pts = decoded_frame->pkt_pts;
>          decoded_frame_tb   = ist->st->time_base;
>      } else if (pkt->pts != AV_NOPTS_VALUE) {

Seems fine to me. No decoder should ever have set the pts field
before. (Forgot to reply earlier.)


More information about the ffmpeg-devel mailing list