And add flag to muxer documentation.
Nero chapters break some taggers (mp3tag and iTunes).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
... | ... |
@@ -330,6 +330,11 @@ This option is implicitly set when writing ismv (Smooth Streaming) files. |
330 | 330 |
Run a second pass moving the index (moov atom) to the beginning of the file. |
331 | 331 |
This operation can take a while, and will not work in various situations such |
332 | 332 |
as fragmented output, thus it is not enabled by default. |
333 |
+@item -movflags disable_chpl |
|
334 |
+Disable Nero chapter markers (chpl atom). Normally, both Nero chapters |
|
335 |
+and a QuickTime chapter track are written to the file. With this option |
|
336 |
+set, only the QuickTime chapter track will be written. Nero chapters can |
|
337 |
+cause failures when the file is reprocessed with certain tagging programs. |
|
333 | 338 |
@end table |
334 | 339 |
|
335 | 340 |
Smooth Streaming content can be pushed in real time to a publishing |
... | ... |
@@ -57,6 +57,7 @@ static const AVOption options[] = { |
57 | 57 |
{ "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" }, |
58 | 58 |
{ "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" }, |
59 | 59 |
{ "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" }, |
60 |
+ { "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" }, |
|
60 | 61 |
FF_RTP_FLAG_OPTS(MOVMuxContext, rtp_flags), |
61 | 62 |
{ "skip_iods", "Skip writing iods atom.", offsetof(MOVMuxContext, iods_skip), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, |
62 | 63 |
{ "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, |
2076 | 2076 |
mov_write_meta_tag(pb_buf, mov, s); |
2077 | 2077 |
} |
2078 | 2078 |
|
2079 |
- if (s->nb_chapters) |
|
2079 |
+ if (s->nb_chapters && !(mov->flags & FF_MOV_FLAG_DISABLE_CHPL)) |
|
2080 | 2080 |
mov_write_chpl_tag(pb_buf, s); |
2081 | 2081 |
|
2082 | 2082 |
if ((size = avio_close_dyn_buf(pb_buf, &buf)) > 0) { |
... | ... |
@@ -175,6 +175,7 @@ typedef struct MOVMuxContext { |
175 | 175 |
#define FF_MOV_FLAG_ISML 64 |
176 | 176 |
#define FF_MOV_FLAG_FASTSTART 128 |
177 | 177 |
#define FF_MOV_FLAG_OMIT_TFHD_OFFSET 256 |
178 |
+#define FF_MOV_FLAG_DISABLE_CHPL 512 |
|
178 | 179 |
|
179 | 180 |
int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt); |
180 | 181 |
|