Commit f1f298cd authored by Diogo Franco's avatar Diogo Franco Committed by Anton Khirnov

Do not write ID3v1 tags by default

ID3v1 are legacy tags with several limitations; furthermore
avconv/ffmpeg writes the tags in UTF-8 which probably has near-0
software support.

Add a -write_id3v1 option to be able to turn it on; disabled by default.
Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent d8b999e2
...@@ -135,6 +135,7 @@ static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char *str2 ...@@ -135,6 +135,7 @@ static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char *str2
typedef struct MP3Context { typedef struct MP3Context {
const AVClass *class; const AVClass *class;
int id3v2_version; int id3v2_version;
int write_id3v1;
int64_t nb_frames_offset; int64_t nb_frames_offset;
} MP3Context; } MP3Context;
...@@ -144,7 +145,7 @@ static int mp3_write_trailer(struct AVFormatContext *s) ...@@ -144,7 +145,7 @@ static int mp3_write_trailer(struct AVFormatContext *s)
MP3Context *mp3 = s->priv_data; MP3Context *mp3 = s->priv_data;
/* write the id3v1 tag */ /* write the id3v1 tag */
if (id3v1_create_tag(s, buf) > 0) { if (mp3 && mp3->write_id3v1 && id3v1_create_tag(s, buf) > 0) {
avio_write(s->pb, buf, ID3v1_TAG_SIZE); avio_write(s->pb, buf, ID3v1_TAG_SIZE);
} }
...@@ -178,6 +179,8 @@ AVOutputFormat ff_mp2_muxer = { ...@@ -178,6 +179,8 @@ AVOutputFormat ff_mp2_muxer = {
static const AVOption options[] = { static const AVOption options[] = {
{ "id3v2_version", "Select ID3v2 version to write. Currently 3 and 4 are supported.", { "id3v2_version", "Select ID3v2 version to write. Currently 3 and 4 are supported.",
offsetof(MP3Context, id3v2_version), FF_OPT_TYPE_INT, {.dbl = 4}, 3, 4, AV_OPT_FLAG_ENCODING_PARAM}, offsetof(MP3Context, id3v2_version), FF_OPT_TYPE_INT, {.dbl = 4}, 3, 4, AV_OPT_FLAG_ENCODING_PARAM},
{ "write_id3v1", "Enable ID3v1 writing. ID3v1 tags are written in UTF-8 which may not be supported by most software.",
offsetof(MP3Context, write_id3v1), FF_OPT_TYPE_INT, {.dbl = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
{ NULL }, { NULL },
}; };
......
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