diff options
-rw-r--r-- | fftools/ffplay.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fftools/ffplay.c b/fftools/ffplay.c index fee0619f7c..f6511e4afd 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -644,7 +644,10 @@ static int decoder_decode_frame(Decoder *d, AVFrame *frame, AVSubtitle *sub) { if (packet_queue_get(d->queue, &pkt, 1, &d->pkt_serial) < 0) return -1; } - } while (d->queue->serial != d->pkt_serial); + if (d->queue->serial == d->pkt_serial) + break; + av_packet_unref(&pkt); + } while (1); if (pkt.data == flush_pkt.data) { avcodec_flush_buffers(d->avctx); |