]> git.sesse.net Git - ffmpeg/commitdiff
mmaldec: do not mutate user's AVCodecContext extradata field
authorwm4 <nfxjfg@googlemail.com>
Tue, 11 Aug 2015 09:30:25 +0000 (11:30 +0200)
committerwm4 <nfxjfg@googlemail.com>
Tue, 11 Aug 2015 10:14:15 +0000 (12:14 +0200)
libavcodec/mmaldec.c

index c775f50d60432fbae71d6b5fa1b7c32d79c38a3f..e2c2e57e257b10d52b2f9db521191f5fb089f325 100644 (file)
@@ -361,10 +361,8 @@ static av_cold int ffmmal_init_decoder(AVCodecContext *avctx)
             ret = AVERROR(ENOSYS);
             goto fail;
         }
-        av_bitstream_filter_filter(ctx->bsfc, avctx, NULL, &dummy_p, &dummy_int, NULL, 0, 0);
-    }
-
-    if (avctx->extradata_size) {
+        av_bitstream_filter_filter(ctx->bsfc, avctx, "private_spspps_buf", &dummy_p, &dummy_int, NULL, 0, 0);
+    } else if (avctx->extradata_size) {
         if ((status = mmal_format_extradata_alloc(format_in, avctx->extradata_size)))
             goto fail;
         format_in->extradata_size = avctx->extradata_size;
@@ -453,7 +451,7 @@ static int ffmmal_add_packet(AVCodecContext *avctx, AVPacket *avpkt)
         if (ctx->bsfc) {
             uint8_t *tmp_data;
             int tmp_size;
-            if ((ret = av_bitstream_filter_filter(ctx->bsfc, avctx, NULL,
+            if ((ret = av_bitstream_filter_filter(ctx->bsfc, avctx, "private_spspps_buf",
                                                   &tmp_data, &tmp_size,
                                                   avpkt->data, avpkt->size,
                                                   avpkt->flags & AV_PKT_FLAG_KEY)) < 0)