diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-05-23 12:52:17 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-05-28 11:59:56 +0200 |
commit | ed9bbcff6fd5579d9633eccbc9a28cb2d3892f85 (patch) | |
tree | 455b936f3a45d7b307f42da7311d7557c1a3d0c9 /libavformat | |
parent | 6c70f89813a67238288705d07c928b4eac7a8cae (diff) | |
download | ffmpeg-ed9bbcff6fd5579d9633eccbc9a28cb2d3892f85.tar.gz |
avformat/flvdec: Avoid duplicating extradata when adding side-data
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/flvdec.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 7c3e5b06c6..957acedf39 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -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; } } |