diff --git a/ffplay.c b/ffplay.c index 946e9b3a30..37623a4548 100644 --- a/ffplay.c +++ b/ffplay.c @@ -2177,8 +2177,8 @@ static int audio_decode_frame(VideoState *is) tb = (AVRational){1, is->frame->sample_rate}; if (is->frame->pts != AV_NOPTS_VALUE) is->frame->pts = av_rescale_q(is->frame->pts, dec->time_base, tb); - if (is->frame->pts == AV_NOPTS_VALUE && pkt_temp->pts != AV_NOPTS_VALUE) - is->frame->pts = av_rescale_q(pkt_temp->pts, is->audio_st->time_base, tb); + else if (is->frame->pkt_pts != AV_NOPTS_VALUE) + is->frame->pts = av_rescale_q(is->frame->pkt_pts, is->audio_st->time_base, tb); if (pkt_temp->pts != AV_NOPTS_VALUE) pkt_temp->pts += (double) is->frame->nb_samples / is->frame->sample_rate / av_q2d(is->audio_st->time_base);