diff --git a/libavformat/evcdec.c b/libavformat/evcdec.c index 0c30f3b4fe..41b0bceb0c 100644 --- a/libavformat/evcdec.c +++ b/libavformat/evcdec.c @@ -182,7 +182,7 @@ static int evc_read_packet(AVFormatContext *s, AVPacket *pkt) { int ret; int32_t nalu_size; - int au_end_found; + int au_end_found = 0; EVCDemuxContext *const c = s->priv_data; @@ -192,8 +192,6 @@ static int evc_read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR_EOF; } - au_end_found = 0; - while(!au_end_found) { uint8_t buf[EVC_NALU_LENGTH_PREFIX_SIZE]; @@ -229,9 +227,8 @@ static int evc_read_packet(AVFormatContext *s, AVPacket *pkt) av_log(s, AV_LOG_ERROR, "evc_frame_merge filter failed to " "send output packet\n"); - au_end_found = 1; - if (ret == AVERROR(EAGAIN)) - au_end_found = 0; + if (ret != AVERROR(EAGAIN)) + au_end_found = 1; } return ret;