diff --git a/ffplay.c b/ffplay.c index 4f8a803b9c..12190dacfa 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) {