]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/oggparsedirac.c
Merge commit 'c1d647b15afa69fa70f999a9ddcb98346409fb4d'
[ffmpeg] / libavformat / oggparsedirac.c
index 10fb07e92d1f49ad4ea05b7598dddedbe27ea183..ab40f96c631a24951b028f5335bf88ad2f2a8b6f 100644 (file)
@@ -31,14 +31,19 @@ static int dirac_header(AVFormatContext *s, int idx)
     AVStream *st = s->streams[idx];
     dirac_source_params source;
     GetBitContext gb;
+    int ret;
 
     // already parsed the header
     if (st->codec->codec_id == AV_CODEC_ID_DIRAC)
         return 0;
 
-    init_get_bits(&gb, os->buf + os->pstart + 13, (os->psize - 13) * 8);
-    if (avpriv_dirac_parse_sequence_header(st->codec, &gb, &source) < 0)
-        return -1;
+    ret = init_get_bits8(&gb, os->buf + os->pstart + 13, (os->psize - 13));
+    if (ret < 0)
+        return ret;
+
+    ret = avpriv_dirac_parse_sequence_header(st->codec, &gb, &source);
+    if (ret < 0)
+        return ret;
 
     st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
     st->codec->codec_id = AV_CODEC_ID_DIRAC;