Commit ec837a08 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'cus/stable'

* cus/stable:
  ffplay: always send zero packets to flush audio decoders
  ffplay: use frame->pkt_pts instead of pkt->pts in audio pts calculation
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents a6e46ed5 02fc61a5
...@@ -2177,8 +2177,8 @@ static int audio_decode_frame(VideoState *is) ...@@ -2177,8 +2177,8 @@ static int audio_decode_frame(VideoState *is)
tb = (AVRational){1, is->frame->sample_rate}; tb = (AVRational){1, is->frame->sample_rate};
if (is->frame->pts != AV_NOPTS_VALUE) if (is->frame->pts != AV_NOPTS_VALUE)
is->frame->pts = av_rescale_q(is->frame->pts, dec->time_base, tb); 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) else if (is->frame->pkt_pts != AV_NOPTS_VALUE)
is->frame->pts = av_rescale_q(pkt_temp->pts, is->audio_st->time_base, tb); is->frame->pts = av_rescale_q(is->frame->pkt_pts, is->audio_st->time_base, tb);
if (pkt_temp->pts != AV_NOPTS_VALUE) 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); pkt_temp->pts += (double) is->frame->nb_samples / is->frame->sample_rate / av_q2d(is->audio_st->time_base);
...@@ -2892,8 +2892,7 @@ static int read_thread(void *arg) ...@@ -2892,8 +2892,7 @@ static int read_thread(void *arg)
pkt->stream_index = is->video_stream; pkt->stream_index = is->video_stream;
packet_queue_put(&is->videoq, pkt); packet_queue_put(&is->videoq, pkt);
} }
if (is->audio_stream >= 0 && if (is->audio_stream >= 0) {
is->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) {
av_init_packet(pkt); av_init_packet(pkt);
pkt->data = NULL; pkt->data = NULL;
pkt->size = 0; pkt->size = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment