Merge commit 'a9b8c638cfe2f82191db65e3e3a39f3b35df81f5'
authorHendrik Leppkes <h.leppkes@gmail.com>
Sat, 26 Sep 2015 09:07:54 +0000 (11:07 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Sat, 26 Sep 2015 09:07:54 +0000 (11:07 +0200)
* commit 'a9b8c638cfe2f82191db65e3e3a39f3b35df81f5':
  mmal: Fix AVBufferRef usage

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
1  2 
libavcodec/mmaldec.c

diff --combined libavcodec/mmaldec.c
@@@ -2,20 -2,20 +2,20 @@@
   * MMAL Video Decoder
   * Copyright (c) 2015 Rodger Combs
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -433,17 -433,20 +433,20 @@@ static int ffmmal_add_packet(AVCodecCon
      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 {