summaryrefslogtreecommitdiff
path: root/libavformat/flvdec.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-05-23 12:52:17 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-05-28 11:59:56 +0200
commited9bbcff6fd5579d9633eccbc9a28cb2d3892f85 (patch)
tree455b936f3a45d7b307f42da7311d7557c1a3d0c9 /libavformat/flvdec.c
parent6c70f89813a67238288705d07c928b4eac7a8cae (diff)
avformat/flvdec: Avoid duplicating extradata when adding side-data
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat/flvdec.c')
-rw-r--r--libavformat/flvdec.c11
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;
}
}