diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index c94f28272a..df88f3f186 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -193,9 +193,12 @@ int av_dup_packet(AVPacket *pkt) pkt->side_data_elems * sizeof(*pkt->side_data), 0, ALLOC_MALLOC); 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, ALLOC_MALLOC); + pkt->side_data[i].size = tmp_pkt.side_data[i].size; + pkt->side_data[i].type = tmp_pkt.side_data[i].type; + } } } return 0;