Mercurial > libavformat.hg
changeset 5319:86c32a27f69a libavformat
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.
author | diego |
---|---|
date | Mon, 19 Oct 2009 23:22:23 +0000 |
parents | fb4f4b61c8ce |
children | db1e4c61789a |
files | Makefile mp3.c |
diffstat | 2 files changed, 37 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Mon Oct 19 22:36:57 2009 +0000 +++ b/Makefile Mon Oct 19 23:22:23 2009 +0000 @@ -106,7 +106,7 @@ 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
--- a/mp3.c Mon Oct 19 22:36:57 2009 +0000 +++ b/mp3.c Mon Oct 19 23:22:23 2009 +0000 @@ -252,6 +252,42 @@ } +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 @@ 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"),