diff options
author | John Stebbins <stebbins@jetheaddev.com> | 2014-08-05 00:13:44 +0400 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2014-08-05 13:36:08 +0400 |
commit | 0897d2fdc7755849c3ae58d8b543ef734c200d3c (patch) | |
tree | 7f6bb11544c92bff24d43dce0b2b2e9b8c3c9af1 | |
parent | 2601a9447efb778930b01ac58d2cc1d02498db4e (diff) |
movenc: Add option to disable nero chapters
And add flag to muxer documentation.
Nero chapters break some taggers (mp3tag and iTunes).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | doc/muxers.texi | 5 | ||||
-rw-r--r-- | libavformat/movenc.c | 3 | ||||
-rw-r--r-- | libavformat/movenc.h | 1 |
3 files changed, 8 insertions, 1 deletions
diff --git a/doc/muxers.texi b/doc/muxers.texi index 0ca8d3fc93..54109c7fd2 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -330,6 +330,11 @@ This option is implicitly set when writing ismv (Smooth Streaming) files. Run a second pass moving the index (moov atom) to the beginning of the file. This operation can take a while, and will not work in various situations such as fragmented output, thus it is not enabled by default. +@item -movflags disable_chpl +Disable Nero chapter markers (chpl atom). Normally, both Nero chapters +and a QuickTime chapter track are written to the file. With this option +set, only the QuickTime chapter track will be written. Nero chapters can +cause failures when the file is reprocessed with certain tagging programs. @end table Smooth Streaming content can be pushed in real time to a publishing diff --git a/libavformat/movenc.c b/libavformat/movenc.c index f16e851245..73a78d8010 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -57,6 +57,7 @@ static const AVOption options[] = { { "isml", "Create a live smooth streaming feed (for pushing to a publishing point)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_ISML}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" }, { "faststart", "Run a second pass to put the index (moov atom) at the beginning of the file", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_FASTSTART}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" }, { "omit_tfhd_offset", "Omit the base data offset in tfhd atoms", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_OMIT_TFHD_OFFSET}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" }, + { "disable_chpl", "Disable Nero chapter atom", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_DISABLE_CHPL}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" }, FF_RTP_FLAG_OPTS(MOVMuxContext, rtp_flags), { "skip_iods", "Skip writing iods atom.", offsetof(MOVMuxContext, iods_skip), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, { "iods_audio_profile", "iods audio profile atom.", offsetof(MOVMuxContext, iods_audio_profile), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 255, AV_OPT_FLAG_ENCODING_PARAM}, @@ -2076,7 +2077,7 @@ static int mov_write_udta_tag(AVIOContext *pb, MOVMuxContext *mov, mov_write_meta_tag(pb_buf, mov, s); } - if (s->nb_chapters) + if (s->nb_chapters && !(mov->flags & FF_MOV_FLAG_DISABLE_CHPL)) mov_write_chpl_tag(pb_buf, s); if ((size = avio_close_dyn_buf(pb_buf, &buf)) > 0) { diff --git a/libavformat/movenc.h b/libavformat/movenc.h index 35be7818ed..0d3eb34c5e 100644 --- a/libavformat/movenc.h +++ b/libavformat/movenc.h @@ -175,6 +175,7 @@ typedef struct MOVMuxContext { #define FF_MOV_FLAG_ISML 64 #define FF_MOV_FLAG_FASTSTART 128 #define FF_MOV_FLAG_OMIT_TFHD_OFFSET 256 +#define FF_MOV_FLAG_DISABLE_CHPL 512 int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt); |