When copying pkt side_data, don't forget size, type
authorAndrey Utkin <andrey.krieger.utkin@gmail.com>
Mon, 17 Sep 2012 16:55:02 +0000 (19:55 +0300)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Sep 2012 20:36:28 +0000 (22:36 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/avpacket.c

index dbbba56..17c100e 100644 (file)
@@ -144,9 +144,12 @@ int av_dup_packet(AVPacket *pkt)
                      pkt->side_data_elems * sizeof(*pkt->side_data), 0);
             memset(pkt->side_data, 0,
                    pkt->side_data_elems * sizeof(*pkt->side_data));
-            for (i = 0; i < pkt->side_data_elems; i++)
+            for (i = 0; i < pkt->side_data_elems; i++) {
                 DUP_DATA(pkt->side_data[i].data, tmp_pkt.side_data[i].data,
                          tmp_pkt.side_data[i].size, 1);
+                pkt->side_data[i].size = tmp_pkt.side_data[i].size;
+                pkt->side_data[i].type = tmp_pkt.side_data[i].type;
+            }
         }
     }
     return 0;