summaryrefslogtreecommitdiff
path: root/libavformat/evcdec.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2023-06-19 23:42:04 -0300
committerJames Almer <jamrial@gmail.com>2023-06-21 13:31:14 -0300
commita6a5e5359573aab7a0dd19045ceafe5149dffd87 (patch)
treef725b5abb07814b28b6c7bc560a71b912df44e22 /libavformat/evcdec.c
parent43ace56c7e79aa94aa5437911e4a3424821d7ab6 (diff)
avformat/evcdec: flush the bsf on EOF
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/evcdec.c')
-rw-r--r--libavformat/evcdec.c8
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 "