]> git.sesse.net Git - ffmpeg/commitdiff
avformat/flvdec: Avoid duplicating extradata when adding side-data
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 23 May 2020 10:52:17 +0000 (12:52 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 28 May 2020 09:59:56 +0000 (11:59 +0200)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/flvdec.c

index 7c3e5b06c6feb7087689744faa3320863c74119a..957acedf39b5d564d2c4276d5ab3f3c06257625d 100644 (file)
@@ -1283,12 +1283,11 @@ retry_duration:
     pkt->stream_index = st->index;
     pkt->pos          = pos;
     if (flv->new_extradata[stream_type]) {
-        uint8_t *side = av_packet_new_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA,
-                                                flv->new_extradata_size[stream_type]);
-        if (side) {
-            memcpy(side, flv->new_extradata[stream_type],
-                   flv->new_extradata_size[stream_type]);
-            av_freep(&flv->new_extradata[stream_type]);
+        int ret = av_packet_add_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA,
+                                          flv->new_extradata[stream_type],
+                                          flv->new_extradata_size[stream_type]);
+        if (ret >= 0) {
+            flv->new_extradata[stream_type]      = NULL;
             flv->new_extradata_size[stream_type] = 0;
         }
     }