mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
ffmpeg: don't overwrite av_bsf_receive_packet return value before checking it
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
51e329918d
commit
55061bbc55
12
ffmpeg.c
12
ffmpeg.c
@ -800,6 +800,12 @@ static void output_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost)
|
||||
while (idx) {
|
||||
/* get a packet from the previous filter up the chain */
|
||||
ret = av_bsf_receive_packet(ost->bsf_ctx[idx - 1], pkt);
|
||||
if (ret == AVERROR(EAGAIN)) {
|
||||
ret = 0;
|
||||
idx--;
|
||||
continue;
|
||||
} else if (ret < 0)
|
||||
goto finish;
|
||||
/* HACK! - aac_adtstoasc updates extradata after filtering the first frame when
|
||||
* the api states this shouldn't happen after init(). Propagate it here to the
|
||||
* muxer and to the next filters in the chain to workaround this.
|
||||
@ -811,12 +817,6 @@ static void output_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost)
|
||||
goto finish;
|
||||
ost->bsf_extradata_updated[idx - 1] |= 1;
|
||||
}
|
||||
if (ret == AVERROR(EAGAIN)) {
|
||||
ret = 0;
|
||||
idx--;
|
||||
continue;
|
||||
} else if (ret < 0)
|
||||
goto finish;
|
||||
|
||||
/* send it to the next filter down the chain or to the muxer */
|
||||
if (idx < ost->nb_bitstream_filters) {
|
||||
|
Loading…
Reference in New Issue
Block a user