diff options
author | James Almer <jamrial@gmail.com> | 2023-06-19 23:42:04 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2023-06-21 13:31:14 -0300 |
commit | a6a5e5359573aab7a0dd19045ceafe5149dffd87 (patch) | |
tree | f725b5abb07814b28b6c7bc560a71b912df44e22 | |
parent | 43ace56c7e79aa94aa5437911e4a3424821d7ab6 (diff) | |
download | ffmpeg-a6a5e5359573aab7a0dd19045ceafe5149dffd87.tar.gz |
avformat/evcdec: flush the bsf on EOF
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavformat/evcdec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavformat/evcdec.c b/libavformat/evcdec.c index 68f3a91e53..842258d229 100644 --- a/libavformat/evcdec.c +++ b/libavformat/evcdec.c @@ -183,15 +183,14 @@ static int evc_read_packet(AVFormatContext *s, AVPacket *pkt) int ret; int32_t nalu_size; int au_end_found = 0; - EVCDemuxContext *const c = s->priv_data; - if (avio_feof(s->pb)) - return AVERROR_EOF; - while(!au_end_found) { uint8_t buf[EVC_NALU_LENGTH_PREFIX_SIZE]; + if (avio_feof(s->pb)) + goto end; + ret = ffio_ensure_seekback(s->pb, EVC_NALU_LENGTH_PREFIX_SIZE); if (ret < 0) return ret; @@ -212,6 +211,7 @@ static int evc_read_packet(AVFormatContext *s, AVPacket *pkt) if (ret != (nalu_size + EVC_NALU_LENGTH_PREFIX_SIZE)) return AVERROR_INVALIDDATA; +end: ret = av_bsf_send_packet(c->bsf, pkt); if (ret < 0) { av_log(s, AV_LOG_ERROR, "Failed to send packet to " |