diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-09-28 19:27:20 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-10-05 00:50:07 +0200 |
commit | 290de647595051034d8f021f24bb4610b2f39943 (patch) | |
tree | bbe929d9f8029c72452f4c9f069fae3adc38ffca | |
parent | e3b5316bede3cf735f66a0a1b83ca833693ffce7 (diff) | |
download | ffmpeg-290de647595051034d8f021f24bb4610b2f39943.tar.gz |
avformat/movenc: Avoid allocation for timecode track
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavformat/movenc.c | 12 |
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); } /* |