From 0cd0a2248844b329c8e066f7609359ba56a9e1c6 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Mon, 19 Oct 2009 23:22:23 +0000 Subject: [PATCH] Move function that is only used by the MP3 muxer below the corresponding #if. This removes the dependency of the MP2 muxer on the id3v2 object file. Originally committed as revision 20329 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/Makefile | 2 +- libavformat/mp3.c | 71 ++++++++++++++++++++++---------------------- 2 files changed, 37 insertions(+), 36 deletions(-) diff --git a/libavformat/Makefile b/libavformat/Makefile index 1aec3212db..284d7d693e 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -106,7 +106,7 @@ OBJS-$(CONFIG_MMF_DEMUXER) += mmf.o raw.o OBJS-$(CONFIG_MMF_MUXER) += mmf.o riff.o OBJS-$(CONFIG_MOV_DEMUXER) += mov.o riff.o isom.o OBJS-$(CONFIG_MOV_MUXER) += movenc.o riff.o isom.o avc.o -OBJS-$(CONFIG_MP2_MUXER) += mp3.o id3v1.o id3v2.o +OBJS-$(CONFIG_MP2_MUXER) += mp3.o id3v1.o OBJS-$(CONFIG_MP3_DEMUXER) += mp3.o id3v1.o id3v2.o OBJS-$(CONFIG_MP3_MUXER) += mp3.o id3v1.o id3v2.o OBJS-$(CONFIG_MPC_DEMUXER) += mpc.o id3v1.o id3v2.o apetag.o diff --git a/libavformat/mp3.c b/libavformat/mp3.c index 2b493e2459..8eac3c6ca9 100644 --- a/libavformat/mp3.c +++ b/libavformat/mp3.c @@ -252,6 +252,42 @@ static void id3v2_put_ttag(AVFormatContext *s, const char *buf, int len, } +static int mp3_write_packet(struct AVFormatContext *s, AVPacket *pkt) +{ + put_buffer(s->pb, pkt->data, pkt->size); + put_flush_packet(s->pb); + return 0; +} + +static int mp3_write_trailer(struct AVFormatContext *s) +{ + uint8_t buf[ID3v1_TAG_SIZE]; + + /* write the id3v1 tag */ + if (id3v1_create_tag(s, buf) > 0) { + put_buffer(s->pb, buf, ID3v1_TAG_SIZE); + put_flush_packet(s->pb); + } + return 0; +} +#endif /* CONFIG_MP2_MUXER || CONFIG_MP3_MUXER */ + +#if CONFIG_MP2_MUXER +AVOutputFormat mp2_muxer = { + "mp2", + NULL_IF_CONFIG_SMALL("MPEG audio layer 2"), + "audio/x-mpeg", + "mp2,m2a", + 0, + CODEC_ID_MP2, + CODEC_ID_NONE, + NULL, + mp3_write_packet, + mp3_write_trailer, +}; +#endif + +#if CONFIG_MP3_MUXER /** * Write an ID3v2.4 header at beginning of stream */ @@ -312,41 +348,6 @@ static int mp3_write_header(struct AVFormatContext *s) return 0; } -static int mp3_write_packet(struct AVFormatContext *s, AVPacket *pkt) -{ - put_buffer(s->pb, pkt->data, pkt->size); - put_flush_packet(s->pb); - return 0; -} - -static int mp3_write_trailer(struct AVFormatContext *s) -{ - uint8_t buf[ID3v1_TAG_SIZE]; - - /* write the id3v1 tag */ - if (id3v1_create_tag(s, buf) > 0) { - put_buffer(s->pb, buf, ID3v1_TAG_SIZE); - put_flush_packet(s->pb); - } - return 0; -} -#endif /* CONFIG_MP2_MUXER || CONFIG_MP3_MUXER */ - -#if CONFIG_MP2_MUXER -AVOutputFormat mp2_muxer = { - "mp2", - NULL_IF_CONFIG_SMALL("MPEG audio layer 2"), - "audio/x-mpeg", - "mp2,m2a", - 0, - CODEC_ID_MP2, - CODEC_ID_NONE, - NULL, - mp3_write_packet, - mp3_write_trailer, -}; -#endif -#if CONFIG_MP3_MUXER AVOutputFormat mp3_muxer = { "mp3", NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),