[FFmpeg-cvslog] flacdec: skip in stream header packets

Michael Niedermayer git at videolan.org
Sat Feb 2 20:08:08 CET 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Feb  2 19:17:25 2013 +0100| [0e9b9a6748aa67c8f272e5eab2b5f7ad6e13d5c9] | committer: Michael Niedermayer

flacdec: skip in stream header packets

This prevents warning messages on chained oggs with some demuxers

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0e9b9a6748aa67c8f272e5eab2b5f7ad6e13d5c9
---

 libavcodec/flacdec.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
index 9d5ecd0..eb75729 100644
--- a/libavcodec/flacdec.c
+++ b/libavcodec/flacdec.c
@@ -505,6 +505,16 @@ static int flac_decode_frame(AVCodecContext *avctx, void *data,
                                        FLAC_MAX_CHANNELS, 32);
     }
 
+    if (buf_size > 5 && !memcmp(buf, "\177FLAC", 5)) {
+        av_log(s->avctx, AV_LOG_DEBUG, "skiping flac header packet 1\n");
+        return buf_size;
+    }
+
+    if (buf_size > 0 && (*buf & 0x7F) == FLAC_METADATA_TYPE_VORBIS_COMMENT) {
+        av_log(s->avctx, AV_LOG_DEBUG, "skiping vorbis comment\n");
+        return buf_size;
+    }
+
     /* check that there is at least the smallest decodable amount of data.
        this amount corresponds to the smallest valid FLAC frame possible.
        FF F8 69 02 00 00 9A 00 00 34 46 */



More information about the ffmpeg-cvslog mailing list