This behavior was added in 2010 to suport some old (and invalid) ogm files. https://github.com/FFmpeg/FFmpeg/commit/81b743eb1026547270b88ac6a5cb451a3907ee94
But this makes it possible to change the codec in the later headers, causing codec to be out of sync with internal avctx (eventually triggering Abrt). Updating the internal ctx for this degenerate case was deemed not worth it. See discussion here: https://patchwork.ffmpeg.org/patch/11983/ --- libavformat/oggdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index e815f42134..19d77f3107 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -545,7 +545,7 @@ static int ogg_packet(AVFormatContext *s, int *sid, int *dstart, int *dsize, ogg->curidx = idx; os->incomplete = 0; - if (os->header) { + if (!ogg->headers) { if ((ret = os->codec->header(s, idx)) < 0) { av_log(s, AV_LOG_ERROR, "Header processing failed: %s\n", av_err2str(ret)); return ret; -- 2.22.0.410.gd8fdbe21b5-goog _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".