summaryrefslogtreecommitdiffstats
path: root/test/test.c
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2017-06-02 08:51:21 -0700
committerBradley Sepos <[email protected]>2017-06-13 17:22:11 -0400
commit16cc03076330b23a0e8744ea125db61a5a2bd2e8 (patch)
tree9f3f38746c96dc2d70395f7b02e56aa60ae5d9b0 /test/test.c
parente018cdea0566e22edf72de4b82a6634c791a90bc (diff)
sync: work-around players with broken edit list support
This adds a preset key AlignAVStart that enables this work-around. When enabled, blank frames are inserted or frames are dropped to force alignment of the initial timestamp of every audio and video stream. Aligning the start times minimizes the impact of broken edit list support in players. Closes #763. Squashed: sync: improve alignment when passthru audio is present presets: enable AlignAVStart for General and Gmail presets LinGui: Improve AlignAVStart tooltip sync: avoid inserting a black frame < nominal frame duration sync: fix start alignment when doing p-to-p encoding sync: add comments
Diffstat (limited to 'test/test.c')
-rw-r--r--test/test.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/test.c b/test/test.c
index 73411aa63..3bc669972 100644
--- a/test/test.c
+++ b/test/test.c
@@ -58,6 +58,7 @@
/* Options */
static int debug = HB_DEBUG_ALL;
+static int align_av_start = -1;
static int dvdnav = 1;
static char * input = NULL;
static char * output = NULL;
@@ -2053,6 +2054,8 @@ static int ParseOptions( int argc, char ** argv )
{ "angle", required_argument, NULL, ANGLE },
{ "markers", optional_argument, NULL, 'm' },
{ "no-markers", no_argument, &chapter_markers, 0 },
+ { "align-av", no_argument, &align_av_start, 1 },
+ { "no-align-av", no_argument, &align_av_start, 0 },
{ "audio-lang-list", required_argument, NULL, AUDIO_LANG_LIST },
{ "all-audio", no_argument, &audio_all, 1 },
{ "first-audio", no_argument, &audio_all, 0 },
@@ -3274,6 +3277,10 @@ static hb_dict_t * PreparePreset(const char *preset_name)
{
hb_dict_set(preset, "ChapterMarkers", hb_value_bool(chapter_markers));
}
+ if (align_av_start != -1)
+ {
+ hb_dict_set(preset, "AlignAVStart", hb_value_bool(align_av_start));
+ }
hb_value_array_t *subtitle_lang_array;
subtitle_lang_array = hb_dict_get(preset, "SubtitleLanguageList");
if (subtitle_lang_array == NULL)