]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mmaldec.c
Merge commit 'e94e651c762f90ac5fd2dc9bd3ba1336a77d5b5c'
[ffmpeg] / libavcodec / mmaldec.c
index 43edb7fd24015cc7f04f7a32e984f85351da4ba3..ecac9246893253b1ed880d51bda13a60346b3ebd 100644 (file)
@@ -433,17 +433,20 @@ static int ffmmal_add_packet(AVCodecContext *avctx, AVPacket *avpkt,
     if (avpkt->size) {
         if (avpkt->buf) {
             buf = av_buffer_ref(avpkt->buf);
+            size = avpkt->size;
+            data = avpkt->data;
         } else {
             buf = av_buffer_alloc(avpkt->size);
-            if (buf)
+            if (buf) {
                 memcpy(buf->data, avpkt->data, avpkt->size);
+                size = buf->size;
+                data = buf->data;
+            }
         }
         if (!buf) {
             ret = AVERROR(ENOMEM);
             goto done;
         }
-        size = buf->size;
-        data = buf->data;
         if (!is_extradata)
             ctx->packets_sent++;
     } else {