summaryrefslogtreecommitdiff
path: root/libavformat/movenc.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-09-28 19:27:20 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-10-05 00:50:07 +0200
commit290de647595051034d8f021f24bb4610b2f39943 (patch)
treebbe929d9f8029c72452f4c9f069fae3adc38ffca /libavformat/movenc.c
parente3b5316bede3cf735f66a0a1b83ca833693ffce7 (diff)
avformat/movenc: Avoid allocation for timecode track
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat/movenc.c')
-rw-r--r--libavformat/movenc.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 5454a9172c..fea8a86192 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -6165,11 +6165,12 @@ static int mov_check_timecode_track(AVFormatContext *s, AVTimecode *tc, int src_
static int mov_create_timecode_track(AVFormatContext *s, int index, int src_index, AVTimecode tc)
{
- int ret;
MOVMuxContext *mov = s->priv_data;
MOVTrack *track = &mov->tracks[index];
AVStream *src_st = s->streams[src_index];
- AVPacket pkt = {.stream_index = index, .flags = AV_PKT_FLAG_KEY, .size = 4};
+ uint8_t data[4];
+ AVPacket pkt = { .data = data, .stream_index = index,
+ .flags = AV_PKT_FLAG_KEY, .size = 4 };
AVRational rate = find_fps(s, src_st);
/* tmcd track based on video stream */
@@ -6192,13 +6193,8 @@ static int mov_create_timecode_track(AVFormatContext *s, int index, int src_inde
track->st->avg_frame_rate = av_inv_q(rate);
/* the tmcd track just contains one packet with the frame number */
- pkt.data = av_malloc(pkt.size);
- if (!pkt.data)
- return AVERROR(ENOMEM);
AV_WB32(pkt.data, tc.start);
- ret = ff_mov_write_packet(s, &pkt);
- av_free(pkt.data);
- return ret;
+ return ff_mov_write_packet(s, &pkt);
}
/*