1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

lavf/movenc: Allow to disable writing the timecode track.

Fixes ticket #5492.
This commit is contained in:
Carl Eugen Hoyos 2016-09-26 08:50:48 +02:00
parent fb37da37ac
commit 46aae84616
3 changed files with 8 additions and 2 deletions

View File

@ -884,6 +884,9 @@ the new default-base-is-moof flag instead. This flag is new from
14496-12:2012. This may make the fragments easier to parse in certain
circumstances (avoiding basing track fragment location calculations
on the implicit end of the previous track fragment).
@item -write_tmcd
Specify @code{on} to force writing a timecode track, @code{off} to disable it
and @code{auto} to write a timecode track only for mov and mp4 output (default).
@end table
@subsection Example

View File

@ -90,6 +90,7 @@ static const AVOption options[] = {
{ "encryption_key", "The media encryption key (hex)", offsetof(MOVMuxContext, encryption_key), AV_OPT_TYPE_BINARY, .flags = AV_OPT_FLAG_ENCODING_PARAM },
{ "encryption_kid", "The media encryption key identifier (hex)", offsetof(MOVMuxContext, encryption_kid), AV_OPT_TYPE_BINARY, .flags = AV_OPT_FLAG_ENCODING_PARAM },
{ "use_stream_ids_as_track_ids", "use stream ids as track ids", offsetof(MOVMuxContext, use_stream_ids_as_track_ids), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
{ "write_tmcd", "force or disable writing tmcd", offsetof(MOVMuxContext, write_tmcd), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, AV_OPT_FLAG_ENCODING_PARAM},
{ NULL },
};
@ -2312,7 +2313,7 @@ static int mov_write_minf_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContext
} else if (track->tag == MKTAG('r','t','p',' ')) {
mov_write_hmhd_tag(pb);
} else if (track->tag == MKTAG('t','m','c','d')) {
if (track->mode == MODE_MP4)
if (track->mode != MODE_MOV)
mov_write_nmhd_tag(pb);
else
mov_write_gmhd_tag(pb, track);
@ -5539,7 +5540,8 @@ static int mov_write_header(AVFormatContext *s)
}
}
if (mov->mode == MODE_MOV || mov->mode == MODE_MP4) {
if ( mov->write_tmcd == -1 && (mov->mode == MODE_MOV || mov->mode == MODE_MP4)
|| mov->write_tmcd == 1) {
tmcd_track = mov->nb_streams;
/* +1 tmcd track for each video stream with a timecode */

View File

@ -219,6 +219,7 @@ typedef struct MOVMuxContext {
int use_stream_ids_as_track_ids;
int track_ids_ok;
int write_tmcd;
} MOVMuxContext;
#define FF_MOV_FLAG_RTP_HINT (1 << 0)