You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avformat/mxfenc: Avoid allocation for timecode track
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
@@ -420,6 +420,7 @@ typedef struct MXFContext {
|
|||||||
int track_instance_count; // used to generate MXFTrack uuids
|
int track_instance_count; // used to generate MXFTrack uuids
|
||||||
int cbr_index; ///< use a constant bitrate index
|
int cbr_index; ///< use a constant bitrate index
|
||||||
uint8_t unused_tags[MXF_NUM_TAGS]; ///< local tags that we know will not be used
|
uint8_t unused_tags[MXF_NUM_TAGS]; ///< local tags that we know will not be used
|
||||||
|
MXFStreamContext timecode_track_priv;
|
||||||
} MXFContext;
|
} MXFContext;
|
||||||
|
|
||||||
static void mxf_write_uuid(AVIOContext *pb, enum MXFMetadataSetType type, int value)
|
static void mxf_write_uuid(AVIOContext *pb, enum MXFMetadataSetType type, int value)
|
||||||
@@ -2704,9 +2705,7 @@ static int mxf_init(AVFormatContext *s)
|
|||||||
mxf->timecode_track = av_mallocz(sizeof(*mxf->timecode_track));
|
mxf->timecode_track = av_mallocz(sizeof(*mxf->timecode_track));
|
||||||
if (!mxf->timecode_track)
|
if (!mxf->timecode_track)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
mxf->timecode_track->priv_data = av_mallocz(sizeof(MXFStreamContext));
|
mxf->timecode_track->priv_data = &mxf->timecode_track_priv;
|
||||||
if (!mxf->timecode_track->priv_data)
|
|
||||||
return AVERROR(ENOMEM);
|
|
||||||
mxf->timecode_track->index = -1;
|
mxf->timecode_track->index = -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3079,10 +3078,7 @@ static void mxf_deinit(AVFormatContext *s)
|
|||||||
|
|
||||||
av_freep(&mxf->index_entries);
|
av_freep(&mxf->index_entries);
|
||||||
av_freep(&mxf->body_partition_offset);
|
av_freep(&mxf->body_partition_offset);
|
||||||
if (mxf->timecode_track) {
|
av_freep(&mxf->timecode_track);
|
||||||
av_freep(&mxf->timecode_track->priv_data);
|
|
||||||
av_freep(&mxf->timecode_track);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, int flush)
|
static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, int flush)
|
||||||
|
Reference in New Issue
Block a user