From a09a98f69c1615f39dd7a8766b6216b1de506936 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 7 Jan 2009 20:45:39 +0000 Subject: [PATCH] Inject NULL packets into the video packet que at EOF to force all delayed frames to be output. git-svn-id: file:///var/local/repositories/ffmpeg/trunk@16484 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b --- ffplay.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ffplay.c b/ffplay.c index 4f8a803b9..12190dacf 100644 --- a/ffplay.c +++ b/ffplay.c @@ -2063,12 +2063,19 @@ static int decode_thread(void *arg) /* if the queue are full, no need to read more */ if (is->audioq.size > MAX_AUDIOQ_SIZE || is->videoq.size > MAX_VIDEOQ_SIZE || - is->subtitleq.size > MAX_SUBTITLEQ_SIZE || - url_feof(ic->pb)) { + is->subtitleq.size > MAX_SUBTITLEQ_SIZE) { /* wait 10 ms */ SDL_Delay(10); continue; } + if(url_feof(ic->pb)) { + av_init_packet(pkt); + pkt->data= + pkt->size=0; + pkt->stream_index= is->video_stream; + packet_queue_put(&is->videoq, pkt); + continue; + } ret = av_read_frame(ic, pkt); if (ret < 0) { if (url_ferror(ic->pb) == 0) { -- 2.39.2