James Almer: > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavformat/mp3enc.c | 24 ++++++++++++++++++++---- > 1 file changed, 20 insertions(+), 4 deletions(-) > > diff --git a/libavformat/mp3enc.c b/libavformat/mp3enc.c > index f4814be80e..34b753ffa0 100644 > --- a/libavformat/mp3enc.c > +++ b/libavformat/mp3enc.c > @@ -473,8 +473,6 @@ static int mp3_write_trailer(struct AVFormatContext *s) > if (mp3->xing_offset) > mp3_update_xing(s); > > - av_freep(&mp3->xing_frame); > - > return 0; > } > > @@ -551,10 +549,10 @@ static int mp3_write_packet(AVFormatContext *s, > AVPacket *pkt) > * Write an ID3v2 header at beginning of stream > */ > > -static int mp3_write_header(struct AVFormatContext *s) > +static int mp3_init(struct AVFormatContext *s) > { > MP3Context *mp3 = s->priv_data; > - int ret, i; > + int i; > > if (mp3->id3v2_version && > mp3->id3v2_version != 3 && > @@ -593,6 +591,14 @@ static int mp3_write_header(struct AVFormatContext *s) > return AVERROR(EINVAL); > } > > + return 0; > +} > + > +static int mp3_write_header(struct AVFormatContext *s) > +{ > + MP3Context *mp3 = s->priv_data; > + int ret; > + > if (mp3->id3v2_version) { > ff_id3v2_start(&mp3->id3, s->pb, mp3->id3v2_version, > ID3v2_DEFAULT_MAGIC); > ret = ff_id3v2_write_metadata(s, &mp3->id3); > @@ -609,6 +615,14 @@ static int mp3_write_header(struct AVFormatContext *s) > return 0; > } > > +static void mp3_deinit(struct AVFormatContext *s) > +{ > + MP3Context *mp3 = s->priv_data; > + > + ff_packet_list_free(&mp3->queue, &mp3->queue_end); > + av_freep(&mp3->xing_frame); > +} > + > AVOutputFormat ff_mp3_muxer = { > .name = "mp3", > .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"), > @@ -617,9 +631,11 @@ AVOutputFormat ff_mp3_muxer = { > .priv_data_size = sizeof(MP3Context), > .audio_codec = AV_CODEC_ID_MP3, > .video_codec = AV_CODEC_ID_PNG, > + .init = mp3_init, > .write_header = mp3_write_header, > .write_packet = mp3_write_packet, > .write_trailer = mp3_write_trailer, > + .deinit = mp3_deinit, > .query_codec = query_codec, > .flags = AVFMT_NOTIMESTAMPS, > .priv_class = &mp3_muxer_class, > LGTM
- Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".