Commit 0cd0a224 authored by Diego Biurrun's avatar Diego Biurrun
Browse files

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
parent 2ab9be3a
......@@ -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
......
......@@ -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"),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment