diff --git a/gtk/src/audiohandler.c b/gtk/src/audiohandler.c
index 2d5e558a4..ac2aafc08 100644
--- a/gtk/src/audiohandler.c
+++ b/gtk/src/audiohandler.c
@@ -550,11 +550,18 @@ audio_add_track(
if (atrack != NULL)
{
int layout = ghb_dict_get_int(atrack, "ChannelLayout");
- const char * name = ghb_dict_get_string(atrack, "Name");
mix = ghb_get_best_mix(layout, encoder, mix);
- if (name != NULL)
+
+ int keep_name = ghb_dict_get_int(settings, "AudioTrackNamePassthru");
+ const char * behavior_name = ghb_dict_get_string(settings, "AudioAutomaticNamingBehavior");
+ int behavior = hb_audio_autonaming_behavior_get_from_name(behavior_name);
+
+ const char * name = ghb_dict_get_string(atrack, "Name");
+ const char * generated_name = hb_audio_name_generate(name, layout, mix,
+ keep_name, behavior);
+ if (generated_name != NULL)
{
- ghb_dict_set_string(asettings, "Name", name);
+ ghb_dict_set_string(asettings, "Name", generated_name);
}
}
ghb_dict_set_string(asettings, "Mixdown", hb_mixdown_get_short_name(mix));
@@ -2287,6 +2294,14 @@ audio_fallback_widget_changed_cb (GtkWidget *widget, gpointer data)
ghb_clear_presets_selection(ud);
}
+G_MODULE_EXPORT void
+audio_autonaming_widget_changed_cb (GtkWidget *widget, gpointer data)
+{
+ signal_user_data_t *ud = ghb_ud();
+ ghb_widget_to_setting(ud->settings, widget);
+ ghb_clear_presets_selection(ud);
+}
+
G_MODULE_EXPORT void
audio_def_quality_enable_changed_cb (GtkWidget *widget, gpointer data)
{
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c
index afb09ea38..664f6a016 100644
--- a/gtk/src/hb-backend.c
+++ b/gtk/src/hb-backend.c
@@ -49,6 +49,18 @@ typedef struct
options_map_t *map;
} combo_opts_t;
+static options_map_t d_audio_autonaming_opts[] =
+{
+ {N_("None"), "none", 0},
+ {N_("Unnamed"), "unnamed", 1},
+ {N_("All"), "all", 2},
+};
+combo_opts_t audio_autonaming_opts =
+{
+ sizeof(d_audio_autonaming_opts)/sizeof(options_map_t),
+ d_audio_autonaming_opts
+};
+
static options_map_t d_subtitle_track_sel_opts[] =
{
{N_("None"), "none", 0},
@@ -575,6 +587,12 @@ combo_name_map_t combo_name_map[] =
small_opts_set,
generic_opt_get
},
+ {
+ "AudioAutomaticNamingBehavior",
+ &audio_autonaming_opts,
+ small_opts_set,
+ generic_opt_get
+ },
{
"AudioTrackSelectionBehavior",
&audio_track_sel_opts,
diff --git a/gtk/src/subtitlehandler.c b/gtk/src/subtitlehandler.c
index 8b1d44849..14d77efb4 100644
--- a/gtk/src/subtitlehandler.c
+++ b/gtk/src/subtitlehandler.c
@@ -445,7 +445,12 @@ static GhbValue* subtitle_add_track(
strack = ghb_get_title_subtitle_track(settings, track);
source = ghb_dict_get_int(strack, "Source");
- name = ghb_dict_get_string(strack, "Name");
+
+ int keep_name = ghb_dict_get_int(settings, "SubtitlesTrackNamePassthru");
+ if (keep_name)
+ {
+ name = ghb_dict_get_string(strack, "Name");
+ }
}
burn |= !hb_subtitle_can_pass(source, mux);
diff --git a/gtk/src/ui/ghb.ui b/gtk/src/ui/ghb.ui
index 9500522e5..2cc434f61 100644
--- a/gtk/src/ui/ghb.ui
+++ b/gtk/src/ui/ghb.ui
@@ -4767,6 +4767,15 @@ Overrides all other settings.
+
+
+
+
+
+
+
+
+
diff --git a/libhb/common.c b/libhb/common.c
index 1c43c7a7f..250e07e4c 100644
--- a/libhb/common.c
+++ b/libhb/common.c
@@ -1468,6 +1468,87 @@ const hb_rate_t* hb_audio_bitrate_get_next(const hb_rate_t *last)
return ((hb_rate_internal_t*)last)->next;
}
+const char * hb_audio_name_get_default(uint64_t layout, int mixdown)
+{
+ int mix_channels = 2;
+
+ if (mixdown != HB_AMIXDOWN_NONE)
+ {
+ mix_channels = hb_mixdown_get_discrete_channel_count(mixdown);
+ }
+ else
+ {
+ mix_channels = hb_layout_get_discrete_channel_count(layout);
+ }
+
+ switch (mix_channels)
+ {
+ case 1:
+ return "Mono";
+ break;
+
+ case 2:
+ return "Stereo";
+ break;
+
+ default:
+ return "Surround";
+ break;
+ }
+}
+
+int hb_audio_autonaming_behavior_get_from_name(const char *name)
+{
+ hb_audio_autonaming_behavior_t behavior = HB_AUDIO_AUTONAMING_NONE;
+
+ if (name)
+ {
+ if (!strcasecmp(name, "all"))
+ {
+ behavior = HB_AUDIO_AUTONAMING_ALL;
+ }
+ else if (!strcasecmp(name, "unnamed"))
+ {
+ behavior = HB_AUDIO_AUTONAMING_UNNAMED;
+ }
+ }
+
+ return behavior;
+}
+
+const char * hb_audio_name_generate(const char *name,
+ uint64_t layout, int mixdown, int keep_name,
+ hb_audio_autonaming_behavior_t behavior)
+{
+ const char *out = NULL;
+
+ if (name == NULL || name[0] == 0)
+ {
+ name = NULL;
+ }
+
+ if (keep_name)
+ {
+ out = name;
+ }
+
+ if (name != NULL &&
+ (!strcmp(name, "Mono") ||
+ !strcmp(name, "Stereo") ||
+ !strcmp(name, "Surround")))
+ {
+ out = NULL;
+ }
+
+ if (behavior == HB_AUDIO_AUTONAMING_ALL ||
+ (behavior == HB_AUDIO_AUTONAMING_UNNAMED && (name == NULL || name[0] == 0)))
+ {
+ out = hb_audio_name_get_default(layout, mixdown);
+ }
+
+ return out;
+}
+
// Get limits and hints for the UIs.
//
// granularity sets the minimum step increments that should be used
diff --git a/libhb/handbrake/common.h b/libhb/handbrake/common.h
index d44cc7477..5fc1c1de6 100644
--- a/libhb/handbrake/common.h
+++ b/libhb/handbrake/common.h
@@ -457,6 +457,22 @@ int hb_audio_bitrate_get_default(uint32_t codec, int samplerate, in
void hb_audio_bitrate_get_limits(uint32_t codec, int samplerate, int mixdown, int *low, int *high);
const hb_rate_t* hb_audio_bitrate_get_next(const hb_rate_t *last);
+
+const char * hb_audio_name_get_default(uint64_t layout, int mixdown);
+
+typedef enum
+{
+ HB_AUDIO_AUTONAMING_NONE,
+ HB_AUDIO_AUTONAMING_UNNAMED,
+ HB_AUDIO_AUTONAMING_ALL
+} hb_audio_autonaming_behavior_t;
+
+int hb_audio_autonaming_behavior_get_from_name(const char *name);
+
+const char * hb_audio_name_generate(const char *name,
+ uint64_t layout, int mixdown, int keep_name,
+ hb_audio_autonaming_behavior_t behaviour);
+
void hb_video_quality_get_limits(uint32_t codec, float *low, float *high, float *granularity, int *direction);
const char* hb_video_quality_get_name(uint32_t codec);
diff --git a/libhb/handbrake/preset_builtin.h b/libhb/handbrake/preset_builtin.h
index 05b3d5841..31d535f8c 100644
--- a/libhb/handbrake/preset_builtin.h
+++ b/libhb/handbrake/preset_builtin.h
@@ -5,6 +5,7 @@ const char hb_builtin_presets_json[] =
" \"ChildrenArray\": [\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -26,6 +27,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -86,6 +88,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -113,6 +116,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -134,6 +138,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -194,6 +199,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -221,6 +227,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -242,6 +249,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -301,6 +309,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -328,6 +337,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -349,6 +359,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -408,6 +419,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -435,6 +447,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -456,6 +469,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -515,6 +529,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -542,6 +557,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -563,6 +579,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -622,6 +639,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -649,6 +667,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -670,6 +689,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -730,6 +750,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -757,6 +778,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -778,6 +800,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -838,6 +861,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -865,6 +889,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -886,6 +911,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -945,6 +971,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -972,6 +999,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -993,6 +1021,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1052,6 +1081,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1079,6 +1109,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -1100,6 +1131,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1159,6 +1191,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1186,6 +1219,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -1207,6 +1241,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1266,6 +1301,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1293,6 +1329,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -1327,6 +1364,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1387,6 +1425,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1414,6 +1453,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -1448,6 +1488,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1508,6 +1549,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1535,6 +1577,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -1570,6 +1613,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1629,6 +1673,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1656,6 +1701,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -1691,6 +1737,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1750,6 +1797,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1777,6 +1825,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -1812,6 +1861,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1871,6 +1921,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -1898,6 +1949,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -1933,6 +1985,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -1992,6 +2045,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2019,6 +2073,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -2054,6 +2109,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2114,6 +2170,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2141,6 +2198,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -2176,6 +2234,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2236,6 +2295,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2263,6 +2323,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -2298,6 +2359,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2357,6 +2419,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2384,6 +2447,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -2419,6 +2483,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2478,6 +2543,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2505,6 +2571,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -2540,6 +2607,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2599,6 +2667,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2626,6 +2695,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -2661,6 +2731,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2720,6 +2791,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2754,6 +2826,7 @@ const char hb_builtin_presets_json[] =
" \"ChildrenArray\": [\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -2775,6 +2848,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2834,6 +2908,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2861,6 +2936,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -2882,6 +2958,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -2941,6 +3018,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -2968,6 +3046,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -2989,6 +3068,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3048,6 +3128,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3075,6 +3156,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3096,6 +3178,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3155,6 +3238,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3182,6 +3266,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3203,6 +3288,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3262,6 +3348,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3289,6 +3376,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3310,6 +3398,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3369,6 +3458,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3396,6 +3486,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3417,6 +3508,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3476,6 +3568,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3503,6 +3596,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3524,6 +3618,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3583,6 +3678,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3610,6 +3706,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3631,6 +3728,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3690,6 +3788,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3717,6 +3816,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3738,6 +3838,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3797,6 +3898,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3824,6 +3926,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -3845,6 +3948,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -3904,6 +4008,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -3938,6 +4043,7 @@ const char hb_builtin_presets_json[] =
" \"ChildrenArray\": [\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -3973,6 +4079,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4032,6 +4139,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4059,6 +4167,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -4094,6 +4203,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4153,6 +4263,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4180,6 +4291,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -4201,6 +4313,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4260,6 +4373,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4287,6 +4401,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -4308,6 +4423,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4367,6 +4483,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4394,6 +4511,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -4415,6 +4533,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4474,6 +4593,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4501,6 +4621,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -4522,6 +4643,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4581,6 +4703,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4608,6 +4731,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -4629,6 +4753,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4688,6 +4813,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4715,6 +4841,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -4750,6 +4877,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4809,6 +4937,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4836,6 +4965,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -4871,6 +5001,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -4930,6 +5061,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -4957,6 +5089,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -4992,6 +5125,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5051,6 +5185,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5078,6 +5213,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5113,6 +5249,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5172,6 +5309,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5199,6 +5337,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5234,6 +5373,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5293,6 +5433,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5320,6 +5461,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5355,6 +5497,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5414,6 +5557,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5441,6 +5585,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5476,6 +5621,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5535,6 +5681,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5562,6 +5709,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5597,6 +5745,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5656,6 +5805,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5683,6 +5833,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5718,6 +5869,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5777,6 +5929,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5804,6 +5957,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -5839,6 +5993,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -5898,6 +6053,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -5925,6 +6081,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -5946,6 +6103,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6005,6 +6163,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6032,6 +6191,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -6053,6 +6213,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6112,6 +6273,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6139,6 +6301,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\",\n"
@@ -6177,6 +6340,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6236,6 +6400,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6263,6 +6428,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -6298,6 +6464,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6357,6 +6524,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6384,6 +6552,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -6419,6 +6588,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6478,6 +6648,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6505,6 +6676,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -6526,6 +6698,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6585,6 +6758,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6612,6 +6786,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": true,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -6633,6 +6808,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6692,6 +6868,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6719,6 +6896,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\"\n"
@@ -6754,6 +6932,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6813,6 +6992,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6847,6 +7027,7 @@ const char hb_builtin_presets_json[] =
" \"ChildrenArray\": [\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [],\n"
" \"AudioEncoderFallback\": \"opus\",\n"
" \"AudioLanguageList\": [],\n"
@@ -6866,6 +7047,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -6925,6 +7107,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -6952,6 +7135,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -6973,6 +7157,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7032,6 +7217,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7059,6 +7245,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7080,6 +7267,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7139,6 +7327,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7166,6 +7355,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7187,6 +7377,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7246,6 +7437,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7273,6 +7465,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7294,6 +7487,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7353,6 +7547,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7380,6 +7575,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7401,6 +7597,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7460,6 +7657,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7487,6 +7685,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7508,6 +7707,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7567,6 +7767,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7594,6 +7795,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7615,6 +7817,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7674,6 +7877,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7701,6 +7905,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7722,6 +7927,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7781,6 +7987,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7808,6 +8015,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7829,6 +8037,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7888,6 +8097,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -7915,6 +8125,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -7936,6 +8147,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -7995,6 +8207,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8022,6 +8235,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [],\n"
" \"AudioEncoderFallback\": \"opus\",\n"
" \"AudioLanguageList\": [],\n"
@@ -8041,6 +8255,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8100,6 +8315,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8127,6 +8343,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [],\n"
" \"AudioEncoderFallback\": \"opus\",\n"
" \"AudioLanguageList\": [],\n"
@@ -8146,6 +8363,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8205,6 +8423,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8232,6 +8451,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [],\n"
" \"AudioEncoderFallback\": \"opus\",\n"
" \"AudioLanguageList\": [],\n"
@@ -8251,6 +8471,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8310,6 +8531,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8337,6 +8559,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [],\n"
" \"AudioEncoderFallback\": \"opus\",\n"
" \"AudioLanguageList\": [],\n"
@@ -8356,6 +8579,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8415,6 +8639,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8442,6 +8667,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [],\n"
" \"AudioEncoderFallback\": \"opus\",\n"
" \"AudioLanguageList\": [],\n"
@@ -8461,6 +8687,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8520,6 +8747,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8554,6 +8782,7 @@ const char hb_builtin_presets_json[] =
" \"ChildrenArray\": [\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -8575,6 +8804,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8634,6 +8864,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8661,6 +8892,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -8682,6 +8914,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8741,6 +8974,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8768,6 +9002,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -8789,6 +9024,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8848,6 +9084,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8875,6 +9112,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -8896,6 +9134,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -8955,6 +9194,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -8982,6 +9222,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9003,6 +9244,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9062,6 +9304,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9089,6 +9332,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9110,6 +9354,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9169,6 +9414,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9196,6 +9442,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9217,6 +9464,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9276,6 +9524,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9303,6 +9552,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9324,6 +9574,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9383,6 +9634,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9410,6 +9662,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9431,6 +9684,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9490,6 +9744,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9517,6 +9772,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9538,6 +9794,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9597,6 +9854,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9624,6 +9882,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9645,6 +9904,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9704,6 +9964,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9738,6 +9999,7 @@ const char hb_builtin_presets_json[] =
" \"ChildrenArray\": [\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9759,6 +10021,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": false,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"all\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9818,6 +10081,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9845,6 +10109,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9866,6 +10131,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": false,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"all\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -9925,6 +10191,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -9952,6 +10219,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -9973,6 +10241,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": false,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"all\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -10032,6 +10301,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -10059,6 +10329,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\"\n"
" ],\n"
@@ -10080,6 +10351,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": false,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"all\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -10139,6 +10411,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"foreign\",\n"
" \"SubtitleBurnDVDSub\": true,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -10166,6 +10439,7 @@ const char hb_builtin_presets_json[] =
" },\n"
" {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\",\n"
@@ -10198,6 +10472,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": false,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"all\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -10259,6 +10534,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleLanguageList\": [\n"
" \"any\"\n"
" ],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"all\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -10294,6 +10570,7 @@ const char hb_builtin_presets_json[] =
" {\n"
" \"ChildrenArray\": [\n"
" {\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\",\n"
@@ -10322,6 +10599,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -10380,6 +10658,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 0,\n"
" \"UsesPictureFilters\": true,\n"
@@ -10415,6 +10694,7 @@ const char hb_builtin_presets_json[] =
" \"PresetTemplate\": {\n"
" \"Preset\": {\n"
" \"AlignAVStart\": false,\n"
+" \"AudioAutomaticNamingBehavior\": \"unnamed\",\n"
" \"AudioCopyMask\": [\n"
" \"copy:aac\",\n"
" \"copy:ac3\",\n"
@@ -10445,6 +10725,7 @@ const char hb_builtin_presets_json[] =
" }\n"
" ],\n"
" \"AudioSecondaryEncoderMode\": true,\n"
+" \"AudioTrackNamePassthru\": true,\n"
" \"AudioTrackSelectionBehavior\": \"first\",\n"
" \"ChapterMarkers\": true,\n"
" \"ChildrenArray\": [],\n"
@@ -10515,6 +10796,7 @@ const char hb_builtin_presets_json[] =
" \"SubtitleBurnBehavior\": \"none\",\n"
" \"SubtitleBurnDVDSub\": false,\n"
" \"SubtitleLanguageList\": [],\n"
+" \"SubtitleTrackNamePassthru\": true,\n"
" \"SubtitleTrackSelectionBehavior\": \"none\",\n"
" \"Type\": 1,\n"
" \"UsesPictureFilters\": true,\n"
@@ -10540,7 +10822,7 @@ const char hb_builtin_presets_json[] =
" \"x264Option\": \"\",\n"
" \"x264UseAdvancedOptions\": false\n"
" },\n"
-" \"VersionMajor\": 64,\n"
+" \"VersionMajor\": 65,\n"
" \"VersionMicro\": 0,\n"
" \"VersionMinor\": 0\n"
" }\n"
diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c
index b7b430683..552419eb9 100644
--- a/libhb/muxavformat.c
+++ b/libhb/muxavformat.c
@@ -733,35 +733,17 @@ static int avformatInit( hb_mux_object_t * m )
track->st->codecpar->ch_layout = ch_layout;
}
- const char *name;
- if (audio->config.out.name == NULL)
- {
- switch (track->st->codecpar->ch_layout.nb_channels)
- {
- case 1:
- name = "Mono";
- break;
-
- case 2:
- name = "Stereo";
- break;
-
- default:
- name = "Surround";
- break;
- }
- }
- else
- {
- name = audio->config.out.name;
- }
// Set audio track title
- av_dict_set(&track->st->metadata, "title", name, 0);
- if (job->mux == HB_MUX_AV_MP4)
+ const char *name = audio->config.out.name;
+ if (name != NULL && name[0] != 0)
{
- // Some software (MPC, mediainfo) use hdlr description
- // for track title
- av_dict_set(&track->st->metadata, "handler_name", name, 0);
+ av_dict_set(&track->st->metadata, "title", name, 0);
+ if (job->mux == HB_MUX_AV_MP4)
+ {
+ // Some software (MPC, mediainfo) use hdlr description
+ // for track title
+ av_dict_set(&track->st->metadata, "handler_name", name, 0);
+ }
}
}
diff --git a/libhb/preset.c b/libhb/preset.c
index f92f19736..523430608 100644
--- a/libhb/preset.c
+++ b/libhb/preset.c
@@ -853,15 +853,6 @@ static void add_audio_for_lang(hb_value_array_t *list, const hb_dict_t *preset,
hb_dict_set(audio_dict, "Track", hb_value_int(aconfig->index));
hb_dict_set(audio_dict, "Encoder", hb_value_string(
hb_audio_encoder_get_short_name(out_codec)));
- const char * name = hb_dict_get_string(encoder_dict, "AudioTrackName");
- if (name != NULL && name[0] != 0)
- {
- hb_dict_set_string(audio_dict, "Name", name);
- }
- else if (aconfig->in.name != NULL && aconfig->in.name[0] != 0)
- {
- hb_dict_set_string(audio_dict, "Name", aconfig->in.name);
- }
if (!(out_codec & HB_ACODEC_PASS_FLAG))
{
if (hb_dict_get(encoder_dict, "AudioTrackGainSlider") != NULL)
@@ -924,7 +915,34 @@ static void add_audio_for_lang(hb_value_array_t *list, const hb_dict_t *preset,
}
// Sanitize the settings before adding to the audio list
- hb_sanitize_audio_settings(title, audio_dict);
+ hb_sanitize_audio_settings(title, audio_dict);
+
+ const char *name = hb_dict_get_string(encoder_dict, "AudioTrackName");
+ if (name != NULL && name[0] != 0)
+ {
+ hb_dict_set_string(audio_dict, "Name", name);
+ }
+ else
+ {
+ int mixdown = HB_INVALID_AMIXDOWN;
+ int keep_name = hb_value_get_bool(hb_dict_get(preset, "AudioTrackNamePassthru"));
+ hb_audio_autonaming_behavior_t behavior = HB_AUDIO_AUTONAMING_NONE;
+
+ const char *mixdown_name = hb_dict_get_string(audio_dict, "Mixdown");
+ mixdown = hb_mixdown_get_from_name(mixdown_name);
+
+ const char *behavior_name = hb_dict_get_string(preset, "AudioAutomaticNamingBehavior");
+ behavior = hb_audio_autonaming_behavior_get_from_name(behavior_name);
+
+ name = hb_audio_name_generate(aconfig->in.name,
+ aconfig->in.channel_layout,
+ mixdown, keep_name, behavior);
+
+ if (name != NULL && name[0] != 0)
+ {
+ hb_dict_set_string(audio_dict, "Name", name);
+ }
+ }
hb_value_array_append(list, audio_dict);
hb_dict_set(used, key, hb_value_bool(1));
@@ -1109,7 +1127,7 @@ static int has_default_subtitle(hb_value_array_t *list)
}
static void add_subtitle_for_lang(hb_value_array_t *list, hb_title_t *title,
- int mux, const char *lang,
+ int mux, const char *lang, int passthru_name,
subtitle_behavior_t *behavior)
{
int t;
@@ -1140,7 +1158,8 @@ static void add_subtitle_for_lang(hb_value_array_t *list, hb_title_t *title,
if (!behavior->one_burned || hb_subtitle_can_pass(subtitle->source, mux))
{
- add_subtitle(list, t, make_default, 0 /*!force*/, burn, subtitle->name);
+ add_subtitle(list, t, make_default, 0 /*!force*/, burn,
+ passthru_name ? subtitle->name : NULL);
}
behavior->burn_first &= !burn;
@@ -1273,6 +1292,8 @@ int hb_preset_job_add_subtitles(hb_handle_t *h, int title_index,
const iso639_lang_t * lang_any = lang_get_any();
const char * pref_lang = lang_any->iso639_2;
+ int passthru_name = hb_value_get_bool(hb_dict_get(preset, "SubtitleTrackNamePassthru"));
+
count = hb_value_array_len(lang_list);
if (count > 0)
{
@@ -1303,7 +1324,7 @@ int hb_preset_job_add_subtitles(hb_handle_t *h, int title_index,
behavior.one = 1;
behavior.burn_foreign = burn_foreign;
behavior.make_default = 1;
- add_subtitle_for_lang(list, title, mux, pref_lang, &behavior);
+ add_subtitle_for_lang(list, title, mux, pref_lang, passthru_name, &behavior);
}
hb_dict_t *search_dict = hb_dict_get(subtitle_dict, "Search");
@@ -1339,12 +1360,12 @@ int hb_preset_job_add_subtitles(hb_handle_t *h, int title_index,
{
const char *lang;
lang = hb_value_get_string(hb_value_array_get(lang_list, ii));
- add_subtitle_for_lang(list, title, mux, lang, &behavior);
+ add_subtitle_for_lang(list, title, mux, lang, passthru_name, &behavior);
}
if (count <= 0)
{
// No languages in language list, assume "any"
- add_subtitle_for_lang(list, title, mux, "any", &behavior);
+ add_subtitle_for_lang(list, title, mux, "any", passthru_name, &behavior);
}
}
@@ -2974,6 +2995,13 @@ static void und_to_any(hb_value_array_t * list)
}
}
+static void import_track_names_preset_settings_64_0_0(hb_value_t *preset)
+{
+ hb_dict_set_string(preset, "AudioAutomaticNamingBehavior", "unnamed");
+ hb_dict_set_bool(preset, "AudioTrackNamePassthru", 1);
+ hb_dict_set_bool(preset, "SubtitleTrackNamePassthru", 1);
+}
+
static void import_av1_preset_settings_63_0_0(hb_value_t *preset)
{
const char *enc = hb_dict_get_string(preset, "VideoEncoder");
@@ -3766,10 +3794,16 @@ static void import_video_0_0_0(hb_value_t *preset)
}
}
+static void import_64_0_0(hb_value_t *preset)
+{
+ import_track_names_preset_settings_64_0_0(preset);
+}
static void import_63_0_0(hb_value_t *preset)
{
import_av1_preset_settings_63_0_0(preset);
+
+ import_64_0_0(preset);
}
static void import_61_0_0(hb_value_t *preset)
@@ -4021,6 +4055,11 @@ static int preset_import(hb_value_t *preset, int major, int minor, int micro)
import_63_0_0(preset);
result = 1;
}
+ else if (cmpVersion(major, minor, micro, 64, 0, 0) <= 0)
+ {
+ import_64_0_0(preset);
+ result = 1;
+ }
preset_clean(preset, hb_preset_template);
}
diff --git a/macosx/Base.lproj/AudioDefaults.xib b/macosx/Base.lproj/AudioDefaults.xib
index 0c682b6b8..776ec48f0 100644
--- a/macosx/Base.lproj/AudioDefaults.xib
+++ b/macosx/Base.lproj/AudioDefaults.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -19,14 +19,14 @@
-
+
-
-
+
+
-
+
@@ -332,7 +332,7 @@ DQ
-
+
@@ -358,19 +358,19 @@ DQ
-
+
-
+
-
+
-
+
@@ -383,11 +383,11 @@ DQ
-
+
-
+
@@ -425,11 +425,11 @@ DQ
-
+
-
+
Mixdown type. Controls how multi-channel audio is mixed into fewer channels, or whether the original channels are preserved.
Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and matrix encode additional channels for surround reproduction on compatible equipment, while maintaining stereo compatibility.
@@ -475,7 +475,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
-
+
@@ -519,11 +519,11 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
-
+
-
+
Audio bit rate in kilobits per second (kbps). Smaller values reduce audio quality. Larger values use more data and may be less compatible.
@@ -563,7 +563,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
-
+
@@ -613,7 +613,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
-
+
@@ -675,7 +675,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
-
+
@@ -683,7 +683,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
-
+
@@ -699,7 +699,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
-
+
-
+
@@ -772,10 +772,10 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
-
+
@@ -783,19 +783,19 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
-
+
-
+
-
+
@@ -807,7 +807,7 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
-
+
@@ -861,10 +861,10 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
-
+
@@ -895,27 +895,82 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -927,7 +982,7 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
diff --git a/macosx/Base.lproj/SubtitlesDefaults.xib b/macosx/Base.lproj/SubtitlesDefaults.xib
index 23c90df7e..c03f05e68 100644
--- a/macosx/Base.lproj/SubtitlesDefaults.xib
+++ b/macosx/Base.lproj/SubtitlesDefaults.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -17,14 +17,14 @@
-
+
-
+
-
+
@@ -32,7 +32,7 @@
-
+
@@ -40,7 +40,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
Track Selection Behavior.
None will not select any audio tracks by default.
@@ -73,7 +73,7 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
-
+
-
+
@@ -181,7 +181,7 @@ All Matching Selected Languages adds all audio tracks matching each of the selec
-
+
Burn-In Behavior. Select which subtitles to make permanent by overlaying them onto the video track.
Only one subtitles track can be burned in.
@@ -203,7 +203,7 @@ Only one subtitles track can be burned in.
-
+
@@ -211,7 +211,7 @@ Only one subtitles track can be burned in.
-
+
@@ -280,6 +280,24 @@ Gw
+
+
+
+
+
+
+
+
+
@@ -290,6 +308,8 @@ Gw
+
+
@@ -302,21 +322,25 @@ Gw
+
+
+
-
+
+
@@ -329,7 +353,7 @@ Gw
-
+
diff --git a/macosx/HBAudio.m b/macosx/HBAudio.m
index 7e7541fba..47f155c97 100644
--- a/macosx/HBAudio.m
+++ b/macosx/HBAudio.m
@@ -54,6 +54,18 @@ NSString *HBAudioEncoderChangedNotification = @"HBAudioEncoderChangedNotificatio
#pragma mark - Data Source
+- (nullable NSString *)defaultTitleForTrackAtIndex:(NSUInteger)idx mixdown:(int)mixdown
+{
+ HBTitleAudioTrack *track = [self sourceTrackAtIndex:idx];
+
+ const char *title = hb_audio_name_generate(track.title.UTF8String,
+ track.channelLayout, mixdown,
+ self.defaults.passthruName,
+ (hb_audio_autonaming_behavior_t)self.defaults.automaticNamingBehavior);
+
+ return title ? @(title) : nil;
+}
+
- (HBTitleAudioTrack *)sourceTrackAtIndex:(NSUInteger)idx
{
return self.sourceTracks[idx];
@@ -182,6 +194,7 @@ NSString *HBAudioEncoderChangedNotification = @"HBAudioEncoderChangedNotificatio
{
HBAudioTrack *track = [[HBAudioTrack alloc] initWithTrackIdx:trackIndex container:self.container dataSource:self delegate:self];
track.undo = self.undo;
+
return track;
}
@@ -223,6 +236,7 @@ NSString *HBAudioEncoderChangedNotification = @"HBAudioEncoderChangedNotificatio
track.sampleRate = [trackDict[@"Samplerate"] intValue] == -1 ? 0 : [trackDict[@"Samplerate"] intValue];
track.bitRate = [trackDict[@"Bitrate"] intValue];
track.encoder = hb_audio_encoder_get_from_name([trackDict[@"Encoder"] UTF8String]);
+ track.title = [trackDict[@"Name"] stringValue];
[tracks addObject:track];
}
diff --git a/macosx/HBAudioDefaults.h b/macosx/HBAudioDefaults.h
index 7a87ebf5a..c98cdbb1c 100644
--- a/macosx/HBAudioDefaults.h
+++ b/macosx/HBAudioDefaults.h
@@ -17,6 +17,12 @@ typedef NS_ENUM(NSUInteger, HBAudioTrackSelectionBehavior) {
HBAudioTrackSelectionBehaviorAll,
};
+typedef NS_ENUM(NSUInteger, HBAudioTrackAutomaticNamingBehavior) {
+ HBAudioTrackAutomaticNamingBehaviorNone,
+ HBAudioTrackAutomaticNamingBehaviorUnnamed,
+ HBAudioTrackAutomaticNamingBehaviorAll,
+};
+
/**
* HBAudioSettings
* Stores the audio defaults (selection behavior) settings.
@@ -50,6 +56,9 @@ typedef NS_ENUM(NSUInteger, HBAudioTrackSelectionBehavior) {
@property(nonatomic, readonly) NSArray *audioEncoderFallbacks;
+@property(nonatomic, readwrite) BOOL passthruName;
+@property(nonatomic, readwrite) HBAudioTrackAutomaticNamingBehavior automaticNamingBehavior;
+
- (void)validateEncoderFallbackForVideoContainer:(int)container;
@property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo;
diff --git a/macosx/HBAudioDefaults.m b/macosx/HBAudioDefaults.m
index fe67e7f6b..d38d9fb57 100644
--- a/macosx/HBAudioDefaults.m
+++ b/macosx/HBAudioDefaults.m
@@ -23,12 +23,15 @@
- (instancetype)init
{
self = [super init];
- if (self) {
+ if (self)
+ {
_encoderFallback = HB_ACODEC_AC3;
_trackSelectionLanguages = [[NSMutableArray alloc] init];
_tracksArray = [[NSMutableArray alloc] init];
_trackSelectionBehavior = HBAudioTrackSelectionBehaviorFirst;
_container = HB_MUX_MKV;
+ _passthruName = NO;
+ _automaticNamingBehavior = HBAudioTrackAutomaticNamingBehaviorNone;
}
return self;
}
@@ -208,6 +211,24 @@
return fallbacks;
}
+- (void)setPassthruName:(BOOL)passthruName
+{
+ if (passthruName != _passthruName)
+ {
+ [[self.undo prepareWithInvocationTarget:self] setPassthruName:_passthruName];
+ }
+ _passthruName = passthruName;
+}
+
+- (void)setautomaticNamingBehavior:(HBAudioTrackAutomaticNamingBehavior)automaticNamingBehavior
+{
+ if (automaticNamingBehavior != _automaticNamingBehavior)
+ {
+ [[self.undo prepareWithInvocationTarget:self] setautomaticNamingBehavior:_automaticNamingBehavior];
+ }
+ _automaticNamingBehavior = automaticNamingBehavior;
+}
+
#pragma mark - HBPresetCoding
- (BOOL)applyPreset:(HBPreset *)preset error:(NSError * __autoreleasing *)outError
@@ -303,6 +324,25 @@
self.encoderFallback = hb_audio_encoder_get_from_name([preset[@"AudioEncoderFallback"] UTF8String]);
}
+ self.passthruName = [preset[@"AudioTrackNamePassthru"] boolValue];
+
+ NSString *automaticNamingBehavior = [preset[@"AudioAutomaticNamingBehavior"] stringValue];
+ if ([automaticNamingBehavior isKindOfClass:[NSString class]])
+ {
+ if ([automaticNamingBehavior isEqualToString:@"none"])
+ {
+ self.automaticNamingBehavior = HBAudioTrackAutomaticNamingBehaviorNone;
+ }
+ else if ([automaticNamingBehavior isEqualToString:@"unnamed"])
+ {
+ self.automaticNamingBehavior = HBAudioTrackAutomaticNamingBehaviorUnnamed;
+ }
+ else if ([automaticNamingBehavior isEqualToString:@"all"])
+ {
+ self.automaticNamingBehavior = HBAudioTrackAutomaticNamingBehaviorAll;
+ }
+ }
+
while ([self countOfTracksArray])
{
[self removeObjectFromTracksArrayAtIndex:0];
@@ -419,6 +459,22 @@
preset[@"AudioSecondaryEncoderMode"] = @(self.secondaryEncoderMode);
+ preset[@"AudioTrackNamePassthru"] = @(self.passthruName);
+
+ switch (self.automaticNamingBehavior)
+ {
+ case HBAudioTrackAutomaticNamingBehaviorNone:
+ preset[@"AudioAutomaticNamingBehavior"] = @"none";
+ break;
+ case HBAudioTrackAutomaticNamingBehaviorUnnamed:
+ preset[@"AudioAutomaticNamingBehavior"] = @"unnamed";
+ break;
+ case HBAudioTrackAutomaticNamingBehaviorAll:
+ default:
+ preset[@"AudioAutomaticNamingBehavior"] = @"all";
+ break;
+ }
+
NSMutableArray *audioList = [[NSMutableArray alloc] init];
for (HBAudioTrackPreset *track in self.tracksArray)
@@ -504,6 +560,9 @@
copy->_encoderFallback = _encoderFallback;
copy->_container = _container;
copy->_secondaryEncoderMode = _secondaryEncoderMode;
+
+ copy->_passthruName = _passthruName;
+ copy->_automaticNamingBehavior = _automaticNamingBehavior;
}
return copy;
@@ -539,6 +598,9 @@
encodeInt(_encoderFallback);
encodeInt(_container);
encodeBool(_secondaryEncoderMode);
+
+ encodeBool(_passthruName);
+ encodeInteger(_automaticNamingBehavior);
}
- (instancetype)initWithCoder:(NSCoder *)decoder
@@ -569,6 +631,14 @@
decodeInt(_container); if (_container != HB_MUX_MP4 && _container != HB_MUX_MKV && _container != HB_MUX_WEBM) { goto fail; }
decodeBool(_secondaryEncoderMode);
+ decodeBool(_passthruName);
+ decodeInt(_automaticNamingBehavior);
+ if (_automaticNamingBehavior < HBAudioTrackAutomaticNamingBehaviorNone || _automaticNamingBehavior > HBAudioTrackAutomaticNamingBehaviorAll)
+ {
+ goto fail;
+ }
+
+
return self;
fail:
diff --git a/macosx/HBAudioTrack.h b/macosx/HBAudioTrack.h
index 678c138eb..8ecfffc5d 100644
--- a/macosx/HBAudioTrack.h
+++ b/macosx/HBAudioTrack.h
@@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
@protocol HBAudioTrackDataSource
- (HBTitleAudioTrack *)sourceTrackAtIndex:(NSUInteger)idx;
- (NSArray *)sourceTracksArray;
+- (nullable NSString *)defaultTitleForTrackAtIndex:(NSUInteger)idx mixdown:(int)mixdown;
@end
@protocol HBAudioTrackDelegate
diff --git a/macosx/HBAudioTrack.m b/macosx/HBAudioTrack.m
index 1bf192ec5..64ca4b118 100644
--- a/macosx/HBAudioTrack.m
+++ b/macosx/HBAudioTrack.m
@@ -43,7 +43,6 @@
_dataSource = dataSource;
_sourceTrackIdx = index;
_container = container;
- self.title = [dataSource sourceTrackAtIndex:_sourceTrackIdx].title;
[self validateSettings];
@@ -90,10 +89,11 @@
if (!(self.undo.isUndoing || self.undo.isRedoing))
{
- self.title = [self.dataSource sourceTrackAtIndex:_sourceTrackIdx].title;
-
[self validateSettings];
+ self.title = [self.dataSource defaultTitleForTrackAtIndex:_sourceTrackIdx
+ mixdown:_mixdown];
+
if (oldIdx != sourceTrackIdx)
{
[self.delegate track:self didChangeSourceFrom:oldIdx];
@@ -149,6 +149,15 @@
{
self.validating = YES;
self.bitRate = [self sanitizeBitrateValue:self.bitRate];
+
+ if ([self.title isEqualToString:@"Mono"] ||
+ [self.title isEqualToString:@"Stereo"] ||
+ [self.title isEqualToString:@"Surround"])
+ {
+ self.title = [self.dataSource defaultTitleForTrackAtIndex:_sourceTrackIdx
+ mixdown:_mixdown];
+ }
+
self.validating = NO;
}
}
@@ -219,13 +228,6 @@
- (void)setTitle:(NSString *)title
{
- if ([title isEqualToString:@"Mono"] ||
- [title isEqualToString:@"Stereo"] ||
- [title isEqualToString:@"Surround"])
- {
- title = nil;
- }
-
if (title != _title)
{
[[self.undo prepareWithInvocationTarget:self] setTitle:_title];
diff --git a/macosx/HBSubtitles.m b/macosx/HBSubtitles.m
index 725fd2dbc..da57d8a5a 100644
--- a/macosx/HBSubtitles.m
+++ b/macosx/HBSubtitles.m
@@ -22,7 +22,7 @@
#define NONE_TRACK_INDEX 0
#define FOREIGN_TRACK_INDEX 1
-@interface HBSubtitles ()
+@interface HBSubtitles ()
@property (nonatomic, readwrite) NSArray *sourceTracks;
@@ -93,6 +93,19 @@
return sourceNames;
}
+- (nullable NSString *)defaultTitleForTrackAtIndex:(NSUInteger)idx
+{
+ NSString *title = nil;
+ HBTitleSubtitlesTrack *track = [self sourceTrackAtIndex:idx];
+
+ if (self.defaults.passthruName)
+ {
+ title = track.title;
+ }
+
+ return title;
+}
+
#pragma mark - Delegate
- (void)track:(HBSubtitlesTrack *)track didChangeSourceFrom:(NSUInteger)oldSourceIdx
@@ -316,6 +329,7 @@
{
track.burnedIn = [trackDict[@"Burn"] boolValue];
track.forcedOnly = [trackDict[@"Forced"] boolValue];
+ track.title = [trackDict[@"Name"] stringValue];
[tracks addObject:track];
}
diff --git a/macosx/HBSubtitlesDefaults.h b/macosx/HBSubtitlesDefaults.h
index 3cef28057..ae0fcea6f 100644
--- a/macosx/HBSubtitlesDefaults.h
+++ b/macosx/HBSubtitlesDefaults.h
@@ -35,6 +35,8 @@ typedef NS_ENUM(NSUInteger, HBSubtitleTrackBurnInBehavior) {
@property (nonatomic, readwrite) BOOL burnInDVDSubtitles;
@property (nonatomic, readwrite) BOOL burnInBluraySubtitles;
+@property (nonatomic, readwrite) BOOL passthruName;
+
@property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo;
@end
diff --git a/macosx/HBSubtitlesDefaults.m b/macosx/HBSubtitlesDefaults.m
index 7d8e861fb..6346f93d7 100644
--- a/macosx/HBSubtitlesDefaults.m
+++ b/macosx/HBSubtitlesDefaults.m
@@ -16,6 +16,7 @@
if (self)
{
_trackSelectionLanguages = [[NSMutableArray alloc] init];
+ _passthruName = NO;
}
return self;
}
@@ -85,6 +86,15 @@
_burnInBluraySubtitles = burnInBluraySubtitles;
}
+- (void)setPassthruName:(BOOL)passthruName
+{
+ if (passthruName != _passthruName)
+ {
+ [[self.undo prepareWithInvocationTarget:self] setPassthruName:_passthruName];
+ }
+ _passthruName = passthruName;
+}
+
#pragma mark - HBPresetCoding
- (BOOL)applyPreset:(HBPreset *)preset error:(NSError * __autoreleasing *)outError
@@ -128,6 +138,8 @@
self.burnInDVDSubtitles = [preset[@"SubtitleBurnDVDSub"] boolValue];
self.burnInBluraySubtitles = [preset[@"SubtitleBurnBDSub"] boolValue];
+ self.passthruName = [preset[@"SubtitleTrackNamePassthru"] boolValue];
+
return YES;
}
@@ -175,6 +187,9 @@
preset[@"SubtitleBurnDVDSub"] = @(self.burnInDVDSubtitles);
preset[@"SubtitleBurnBDSub"] = @(self.burnInBluraySubtitles);
+
+ preset[@"SubtitleTrackNamePassthru"] = @(self.passthruName);
+
}
#pragma mark - NSCopying
@@ -195,6 +210,8 @@
copy->_burnInBehavior = _burnInBehavior;
copy->_burnInDVDSubtitles = _burnInDVDSubtitles;
copy->_burnInBluraySubtitles = _burnInBluraySubtitles;
+
+ copy->_passthruName = _passthruName;
}
return copy;
@@ -221,6 +238,8 @@
encodeInteger(_burnInBehavior);
encodeBool(_burnInDVDSubtitles);
encodeBool(_burnInBluraySubtitles);
+
+ encodeBool(_passthruName);
}
- (instancetype)initWithCoder:(NSCoder *)decoder
@@ -246,6 +265,8 @@
decodeBool(_burnInDVDSubtitles);
decodeBool(_burnInBluraySubtitles);
+ decodeBool(_passthruName);
+
return self;
fail:
diff --git a/macosx/HBSubtitlesTrack.h b/macosx/HBSubtitlesTrack.h
index 0461b282e..7d6c3a841 100644
--- a/macosx/HBSubtitlesTrack.h
+++ b/macosx/HBSubtitlesTrack.h
@@ -14,15 +14,16 @@ NS_ASSUME_NONNULL_BEGIN
/**
* HBTrackDataSource
*/
-@protocol HBTrackDataSource
+@protocol HBSubtitlesTrackDataSource
- (HBTitleSubtitlesTrack *)sourceTrackAtIndex:(NSUInteger)idx;
- (NSArray *)sourceTracksArray;
+- (nullable NSString *)defaultTitleForTrackAtIndex:(NSUInteger)idx;
@end
/**
* HBTrackDelegate
*/
-@protocol HBTrackDelegate
+@protocol HBSubtitlesTrackDelegate
- (void)track:(HBSubtitlesTrack *)track didChangeSourceFrom:(NSUInteger)oldSourceIdx;
- (BOOL)canSetBurnedInOption:(HBSubtitlesTrack *)track;
@@ -35,8 +36,8 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithTrackIdx:(NSUInteger)index
container:(int)container
- dataSource:(id)dataSource
- delegate:(id)delegate;
+ dataSource:(id)dataSource
+ delegate:(id)delegate;
/// The index of the source in the data source tracks array.
@property (nonatomic, readwrite) NSUInteger sourceTrackIdx;
@@ -65,8 +66,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo;
-@property (nonatomic, readwrite, weak) id dataSource;
-@property (nonatomic, readwrite, weak) id delegate;
+@property (nonatomic, readwrite, weak) id dataSource;
+@property (nonatomic, readwrite, weak) id delegate;
/// A complete list of the possible languages.
- (NSArray *)languages;
diff --git a/macosx/HBSubtitlesTrack.m b/macosx/HBSubtitlesTrack.m
index b19462ac1..886fbfe74 100644
--- a/macosx/HBSubtitlesTrack.m
+++ b/macosx/HBSubtitlesTrack.m
@@ -46,8 +46,8 @@ static NSArray *_languagesArray = nil;
- (instancetype)initWithTrackIdx:(NSUInteger)index
container:(int)container
- dataSource:(id)dataSource
- delegate:(id)delegate
+ dataSource:(id)dataSource
+ delegate:(id)delegate
{
self = [super init];
if (self)
@@ -127,10 +127,10 @@ static NSArray *_languagesArray = nil;
if (!(self.undo.isUndoing || self.undo.isRedoing))
{
- self.title = [self.dataSource sourceTrackAtIndex:_sourceTrackIdx].title;
-
[self validateSettings];
+ self.title = [self.dataSource defaultTitleForTrackAtIndex:_sourceTrackIdx];
+
if (oldIdx != sourceTrackIdx)
{
[self.delegate track:self didChangeSourceFrom:oldIdx];
diff --git a/preset/preset_builtin.json b/preset/preset_builtin.json
index 53697f8ea..312d9f5ae 100644
--- a/preset/preset_builtin.json
+++ b/preset/preset_builtin.json
@@ -3,6 +3,7 @@
"ChildrenArray": [
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -25,6 +26,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -91,6 +93,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 7500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "svt_av1_10bit",
@@ -114,6 +117,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -136,6 +140,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -202,6 +207,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 7500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -225,6 +231,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -247,6 +254,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -312,6 +320,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 4000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -335,6 +344,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -357,6 +367,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -422,6 +433,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -445,6 +457,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -467,6 +480,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -532,6 +546,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1200,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -555,6 +570,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -577,6 +593,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -642,6 +659,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -665,6 +683,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -687,6 +706,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -753,6 +773,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 10500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "svt_av1_10bit",
@@ -776,6 +797,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -798,6 +820,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -864,6 +887,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 13000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -887,6 +911,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -909,6 +934,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -974,6 +1000,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -997,6 +1024,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -1019,6 +1047,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1084,6 +1113,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -1107,6 +1137,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -1129,6 +1160,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1194,6 +1226,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1800,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -1217,6 +1250,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -1239,6 +1273,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1304,6 +1339,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -1327,6 +1363,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -1362,6 +1399,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1428,6 +1466,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 16000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "svt_av1_10bit",
@@ -1451,6 +1490,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -1486,6 +1526,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1552,6 +1593,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 20500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -1575,6 +1617,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -1611,6 +1654,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1676,6 +1720,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 9000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -1699,6 +1744,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -1735,6 +1781,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1800,6 +1847,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 4500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -1823,6 +1871,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -1859,6 +1908,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -1924,6 +1974,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2700,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -1947,6 +1998,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -1983,6 +2035,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2048,6 +2101,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2250,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -2071,6 +2125,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -2107,6 +2162,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2173,6 +2229,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 32000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "svt_av1_10bit",
@@ -2196,6 +2253,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -2232,6 +2290,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2298,6 +2357,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 32000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -2321,6 +2381,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -2357,6 +2418,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2422,6 +2484,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 15000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -2445,6 +2508,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -2481,6 +2545,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2546,6 +2611,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 7500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -2569,6 +2635,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -2605,6 +2672,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2670,6 +2738,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 4500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -2693,6 +2762,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -2729,6 +2799,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2794,6 +2865,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3750,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -2824,6 +2896,7 @@
"ChildrenArray": [
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -2846,6 +2919,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -2911,6 +2985,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 18000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -2934,6 +3009,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -2956,6 +3032,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3021,6 +3098,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 12000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3044,6 +3122,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3066,6 +3145,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3131,6 +3211,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 9000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3154,6 +3235,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3176,6 +3258,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3241,6 +3324,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 4500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3264,6 +3348,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3286,6 +3371,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3351,6 +3437,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3374,6 +3461,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3396,6 +3484,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3461,6 +3550,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3484,6 +3574,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3506,6 +3597,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3571,6 +3663,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3594,6 +3687,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3616,6 +3710,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3681,6 +3776,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3704,6 +3800,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3726,6 +3823,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3791,6 +3889,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2250,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3814,6 +3913,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3836,6 +3936,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -3901,6 +4002,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1125,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -3924,6 +4026,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -3946,6 +4049,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4011,6 +4115,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4041,6 +4146,7 @@
"ChildrenArray": [
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -4077,6 +4183,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4142,6 +4249,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 8000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -4165,6 +4273,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -4201,6 +4310,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4266,6 +4376,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4289,6 +4400,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -4311,6 +4423,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4376,6 +4489,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4399,6 +4513,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -4421,6 +4536,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4486,6 +4602,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4509,6 +4626,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -4531,6 +4649,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4596,6 +4715,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4619,6 +4739,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -4641,6 +4762,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4706,6 +4828,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1800,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4729,6 +4852,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -4751,6 +4875,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4816,6 +4941,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -4839,6 +4965,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -4875,6 +5002,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -4940,6 +5068,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 8000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -4963,6 +5092,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -4999,6 +5129,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5064,6 +5195,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5087,6 +5219,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5123,6 +5256,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5188,6 +5322,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5211,6 +5346,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5247,6 +5383,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5312,6 +5449,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5335,6 +5473,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5371,6 +5510,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5436,6 +5576,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5459,6 +5600,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5495,6 +5637,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5560,6 +5703,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 8000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -5583,6 +5727,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5619,6 +5764,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5684,6 +5830,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5707,6 +5854,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5743,6 +5891,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -5808,6 +5957,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5831,6 +5981,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5866,6 +6017,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [],
@@ -5930,6 +6082,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 12000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -5953,6 +6106,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -5989,6 +6143,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6054,6 +6209,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6077,6 +6233,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -6099,6 +6256,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6164,6 +6322,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6187,6 +6346,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -6209,6 +6369,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6274,6 +6435,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2250,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6297,6 +6459,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3",
@@ -6336,6 +6499,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6401,6 +6565,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 8000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -6424,6 +6589,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -6460,6 +6626,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6525,6 +6692,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6548,6 +6716,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -6584,6 +6753,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6649,6 +6819,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6672,6 +6843,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -6694,6 +6866,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6759,6 +6932,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1800,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6782,6 +6956,7 @@
},
{
"AlignAVStart": true,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -6804,6 +6979,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6869,6 +7045,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -6892,6 +7069,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3"
@@ -6928,6 +7106,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -6993,6 +7172,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -7023,6 +7203,7 @@
"ChildrenArray": [
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
],
"AudioEncoderFallback": "opus",
@@ -7044,6 +7225,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7109,6 +7291,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 10500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "svt_av1_10bit",
@@ -7132,6 +7315,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7154,6 +7338,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7219,6 +7404,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 13000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -7242,6 +7428,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7264,6 +7451,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7329,6 +7517,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -7352,6 +7541,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7374,6 +7564,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7439,6 +7630,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -7462,6 +7654,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7484,6 +7677,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7549,6 +7743,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1200,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -7572,6 +7767,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7594,6 +7790,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7659,6 +7856,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265_10bit",
@@ -7682,6 +7880,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7704,6 +7903,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7769,6 +7969,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 12000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -7792,6 +7993,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7814,6 +8016,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7879,6 +8082,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -7902,6 +8106,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -7924,6 +8129,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -7989,6 +8195,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -8012,6 +8219,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -8034,6 +8242,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8099,6 +8308,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1800,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -8122,6 +8332,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -8144,6 +8355,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8209,6 +8421,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -8232,6 +8445,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
],
"AudioEncoderFallback": "opus",
@@ -8253,6 +8467,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8318,6 +8533,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 8000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vp9",
@@ -8341,6 +8557,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
],
"AudioEncoderFallback": "opus",
@@ -8362,6 +8579,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8427,6 +8645,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 4500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vp9",
@@ -8450,6 +8669,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
],
"AudioEncoderFallback": "opus",
@@ -8471,6 +8691,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8536,6 +8757,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vp9",
@@ -8559,6 +8781,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
],
"AudioEncoderFallback": "opus",
@@ -8580,6 +8803,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8645,6 +8869,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vp9",
@@ -8668,6 +8893,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
],
"AudioEncoderFallback": "opus",
@@ -8689,6 +8915,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8754,6 +8981,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1250,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vp9",
@@ -8784,6 +9012,7 @@
"ChildrenArray": [
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -8806,6 +9035,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8871,6 +9101,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 6500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "qsv_av1_10bit",
@@ -8894,6 +9125,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -8916,6 +9148,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -8981,6 +9214,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 10500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "nvenc_h265",
@@ -9004,6 +9238,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9026,6 +9261,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9091,6 +9327,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 3750,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "nvenc_h265",
@@ -9114,6 +9351,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9136,6 +9374,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9201,6 +9440,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 8000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "qsv_h265",
@@ -9224,6 +9464,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9246,6 +9487,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9311,6 +9553,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 2500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "qsv_h265",
@@ -9334,6 +9577,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9356,6 +9600,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9421,6 +9666,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 12500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vce_h265",
@@ -9444,6 +9690,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9466,6 +9713,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9531,6 +9779,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 7250,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vce_h265",
@@ -9554,6 +9803,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9576,6 +9826,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9641,6 +9892,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 9500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "mf_h265",
@@ -9664,6 +9916,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9686,6 +9939,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9751,6 +10005,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 5500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "mf_h265",
@@ -9774,6 +10029,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9796,6 +10052,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9861,6 +10118,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 17500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vt_h265_10bit",
@@ -9884,6 +10142,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -9906,6 +10165,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -9971,6 +10231,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 5500,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "vt_h265_10bit",
@@ -10001,6 +10262,7 @@
"ChildrenArray": [
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -10023,6 +10285,7 @@
}
],
"AudioSecondaryEncoderMode": false,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "all",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -10088,6 +10351,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 120000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -10111,6 +10375,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -10133,6 +10398,7 @@
}
],
"AudioSecondaryEncoderMode": false,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "all",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -10198,6 +10464,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 60000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -10221,6 +10488,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -10243,6 +10511,7 @@
}
],
"AudioSecondaryEncoderMode": false,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "all",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -10308,6 +10577,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 30000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -10331,6 +10601,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac"
],
@@ -10353,6 +10624,7 @@
}
],
"AudioSecondaryEncoderMode": false,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "all",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -10418,6 +10690,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 15000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
@@ -10441,6 +10714,7 @@
},
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3",
@@ -10473,6 +10747,7 @@
}
],
"AudioSecondaryEncoderMode": false,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "all",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -10539,6 +10814,7 @@
"any"
],
"SubtitleTrackSelectionBehavior": "all",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 0,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "ffv1",
diff --git a/preset/preset_builtin.list b/preset/preset_builtin.list
index f8379aed7..8758057b4 100644
--- a/preset/preset_builtin.list
+++ b/preset/preset_builtin.list
@@ -1,6 +1,6 @@
-
+
diff --git a/preset/preset_cli_default.json b/preset/preset_cli_default.json
index 815b3bd8b..906315d72 100644
--- a/preset/preset_cli_default.json
+++ b/preset/preset_cli_default.json
@@ -2,6 +2,7 @@
{
"ChildrenArray": [
{
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3",
@@ -31,6 +32,7 @@
}
],
"AudioSecondaryEncoderMode": true,
+ "AudioTrackNamePassthru": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": true,
"ChildrenArray": [
@@ -94,6 +96,7 @@
"SubtitleBurnDVDSub": false,
"SubtitleLanguageList": [
],
+ "SubtitleTrackNamePassthru": true,
"SubtitleTrackSelectionBehavior": "none",
"VideoAvgBitrate": 6000,
"VideoColorMatrixCodeOverride": 0,
diff --git a/preset/preset_template.json b/preset/preset_template.json
index a030ea89e..8d325e2f6 100644
--- a/preset/preset_template.json
+++ b/preset/preset_template.json
@@ -1,5 +1,6 @@
{
"AlignAVStart": false,
+ "AudioAutomaticNamingBehavior": "unnamed",
"AudioCopyMask": [
"copy:aac",
"copy:ac3",
@@ -31,6 +32,7 @@
],
"AudioSecondaryEncoderMode": true,
"AudioTrackSelectionBehavior": "first",
+ "AudioTrackNamePassthru": true,
"ChapterMarkers": true,
"ChildrenArray": [
],
@@ -105,6 +107,7 @@
"SubtitleLanguageList": [
],
"SubtitleTrackSelectionBehavior": "none",
+ "SubtitleTrackNamePassthru": true,
"VideoAvgBitrate": 1800,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x264",
diff --git a/test/test.c b/test/test.c
index 4b69d92b0..e9a91e367 100644
--- a/test/test.c
+++ b/test/test.c
@@ -60,6 +60,7 @@
#define DEBLOCK_DEFAULT_PRESET "medium"
#define COLORSPACE_DEFAULT_PRESET "bt709"
#define HDR_DYNAMIC_METADATA_DEFAULT_PRESET "all"
+#define AUDIO_AUTONAMING_BEHAVIOUR_DEFAULT_PRESET "unnamed"
/* Options */
static int debug = HB_DEBUG_ALL;
@@ -215,6 +216,9 @@ static int keep_duplicate_titles = 0;
static int hdr_dynamic_metadata_disable = 0;
static char * hdr_dynamic_metadata = NULL;
static int metadata_passthru = -1;
+static int audio_name_passthru = -1;
+static char * audio_autonaming_behaviour = NULL;
+static int sub_name_passthru = -1;
/* Exit cleanly on Ctrl-C */
static volatile hb_error_code done_error = HB_ERROR_NONE;
@@ -1675,6 +1679,14 @@ static void ShowHelp(void)
}
}
fprintf(out,
+" --keep-aname Passthru the source audio track(s) name(s).\n"
+" --no-keep-aname Disable the source audio track(s) name(s) passthru.\n"
+" --automatic-naming-behaviour\n"
+" Set the audio track(s) automatic naming behaviour:\n"
+" off\n"
+" unnamed\n"
+" all\n"
+" Disable the source audio track(s) name(s) passthru.\n"
" -A, --aname Set audio track name(s).\n"
" Separate tracks by commas.\n"
"\n"
@@ -1901,6 +1913,8 @@ static void ShowHelp(void)
" or less is selected. This should locate subtitles\n"
" for short foreign language segments. Best used in\n"
" conjunction with --subtitle-forced.\n"
+" --keep-subname Passthru the source subtitle track(s) name(s).\n"
+" --no-keep-subname Disable the source subtitle track(s) name(s) passthru.\n"
" -S, --subname Set subtitle track name(s).\n"
" Separate tracks by commas.\n"
" -F, --subtitle-forced[=string]\n"
@@ -2251,6 +2265,7 @@ static int ParseOptions( int argc, char ** argv )
#define KEEP_DUPLICATE_TITLES 332
#define MAX_DURATION 333
#define HDR_DYNAMIC_METADATA 334
+ #define AUDIO_AUTONAMING_BEHAVIOUR 335
for( ;; )
{
@@ -2429,7 +2444,12 @@ static int ParseOptions( int argc, char ** argv )
{ "preset-export-description", required_argument, NULL, PRESET_EXPORT_DESC },
{ "queue-import-file", required_argument, NULL, QUEUE_IMPORT },
+ { "keep-aname", no_argument, &audio_name_passthru, 1 },
+ { "no-keep-aname", no_argument, &audio_name_passthru, 0 },
+ { "automatic-naming-behaviour", required_argument, NULL, AUDIO_AUTONAMING_BEHAVIOUR },
{ "aname", required_argument, NULL, 'A' },
+ { "keep-subname", no_argument, &sub_name_passthru, 1 },
+ { "no-keep-subname", no_argument, &sub_name_passthru, 0 },
{ "subname", required_argument, NULL, 'S' },
{ "color-matrix",required_argument, NULL, 'M' },
{ "previews", required_argument, NULL, PREVIEWS },
@@ -3277,6 +3297,17 @@ static int ParseOptions( int argc, char ** argv )
hdr_dynamic_metadata = strdup(HDR_DYNAMIC_METADATA_DEFAULT_PRESET);
}
break;
+ case AUDIO_AUTONAMING_BEHAVIOUR:
+ free(audio_autonaming_behaviour);
+ if (optarg != NULL)
+ {
+ audio_autonaming_behaviour = strdup(optarg);
+ }
+ else
+ {
+ audio_autonaming_behaviour = strdup(AUDIO_AUTONAMING_BEHAVIOUR_DEFAULT_PRESET);
+ }
+ break;
case ':':
fprintf( stderr, "missing parameter (%s)\n", argv[cur_optind] );
return -1;
@@ -3932,6 +3963,10 @@ static hb_dict_t * PreparePreset(const char *preset_name)
hb_dict_set(preset, "SubtitleTrackSelectionBehavior",
hb_value_string(selection));
}
+ if (sub_name_passthru != -1)
+ {
+ hb_dict_set(preset, "SubtitleTrackNamePassthru", hb_value_bool(sub_name_passthru));
+ }
if (audio_copy_list != NULL)
{
@@ -3990,6 +4025,14 @@ static hb_dict_t * PreparePreset(const char *preset_name)
hb_dict_set(preset, "AudioTrackSelectionBehavior",
hb_value_string(audio_all == 1 ? "all" : "first"));
}
+ if (audio_name_passthru != -1)
+ {
+ hb_dict_set(preset, "AudioTrackNamePassthru", hb_value_bool(audio_name_passthru));
+ }
+ if (audio_autonaming_behaviour != NULL)
+ {
+ hb_dict_set(preset, "AudioAutomaticNamingBehavior", hb_value_string(audio_autonaming_behaviour));
+ }
// Audio overrides
if (atracks == NULL && audio_all != 1 && (
@@ -4805,7 +4848,7 @@ static hb_dict_t * PreparePreset(const char *preset_name)
}
-static int add_sub(hb_value_array_t *list, hb_title_t *title, int track, int out_track, int *one_burned)
+static int add_sub(hb_value_array_t *list, hb_title_t *title, int track, int out_track, int *one_burned, int keep_name)
{
hb_subtitle_t *subtitle;
// Check that the track exists
@@ -4834,11 +4877,18 @@ static int add_sub(hb_value_array_t *list, hb_title_t *title, int track, int out
}
*one_burned = 1;
}
+
+ const char *name = keep_name && subtitle->name != NULL && subtitle->name[0] != 0 ? subtitle->name : NULL;
+
hb_dict_t *subtitle_dict = hb_dict_init();
hb_dict_set(subtitle_dict, "Track", hb_value_int(track));
hb_dict_set(subtitle_dict, "Default", hb_value_bool(def));
hb_dict_set(subtitle_dict, "Forced", hb_value_bool(force));
hb_dict_set(subtitle_dict, "Burn", hb_value_bool(burn));
+ if (name)
+ {
+ hb_dict_set(subtitle_dict, "Name", hb_value_string(name));
+ }
hb_value_array_append(list, subtitle_dict);
return 0;
}
@@ -5411,13 +5461,45 @@ PrepareJob(hb_handle_t *h, hb_title_t *title, hb_dict_t *preset_dict)
fprintf(stderr, "Dropping excess audio track names\n");
}
}
- // If exactly one name was specified, apply it to the reset
+ // If exactly one name was specified, apply it to the rest
// of the tracks
if (ii == 1 && *anames[0]) for (; ii < track_count; ii++)
{
audio_dict = hb_value_array_get(audio_array, ii);
hb_dict_set(audio_dict, "Name", hb_value_string(anames[0]));
}
+
+ int keep_name = hb_value_get_bool(hb_dict_get(preset_dict, "AudioTrackNamePassthru"));
+ hb_audio_autonaming_behavior_t behavior = HB_AUDIO_AUTONAMING_NONE;
+
+ const char *behavior_name = hb_value_get_string(hb_dict_get(preset_dict, "AudioAutomaticNamingBehavior"));
+ behavior = hb_audio_autonaming_behavior_get_from_name(behavior_name);
+
+ for (ii = 0; ii < track_count; ii++)
+ {
+ audio_dict = hb_value_array_get(audio_array, ii);
+
+ if (hb_dict_get(audio_dict, "Name") == NULL)
+ {
+ int track = hb_value_get_int(hb_dict_get(audio_dict, "Track"));
+ hb_audio_config_t *audio = hb_list_audio_config_item(title->list_audio, track);
+
+ if (audio != NULL)
+ {
+ const char *mixdown_name = hb_dict_get_string(audio_dict, "Mixdown");
+ int mixdown = hb_mixdown_get_from_name(mixdown_name);
+
+ const char *name = hb_audio_name_generate(audio->in.name,
+ audio->in.channel_layout,
+ mixdown, keep_name, behavior);
+
+ if (name)
+ {
+ hb_dict_set(audio_dict, "Name", hb_value_string(name));
+ }
+ }
+ }
+ }
}
int one_burned = 0;
@@ -5446,13 +5528,15 @@ PrepareJob(hb_handle_t *h, hb_title_t *title, hb_dict_t *preset_dict)
continue;
}
+ int keep_name = hb_value_get_bool(hb_dict_get(preset_dict, "SubtitleTrackNamePassthru"));
+
int first, last, track;
if (sscanf(subtracks[ii], "%d-%d", &first, &last ) == 2)
{
for (track = first - 1; track < last; track++)
{
if (add_sub(subtitle_array, title, track - 1,
- out_track + 1, &one_burned) == 0)
+ out_track + 1, &one_burned, keep_name) == 0)
{
out_track++;
}
@@ -5461,7 +5545,7 @@ PrepareJob(hb_handle_t *h, hb_title_t *title, hb_dict_t *preset_dict)
else if (sscanf(subtracks[ii], "%d", &track) == 1)
{
if (add_sub(subtitle_array, title, track - 1,
- out_track + 1, &one_burned) == 0)
+ out_track + 1, &one_burned, keep_name) == 0)
{
out_track++;
}
diff --git a/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs b/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
index 6998e793f..4e276653c 100644
--- a/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
+++ b/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
@@ -12,6 +12,7 @@ namespace HandBrake.Interop.Interop
using System;
using System.Collections.Generic;
using System.Linq;
+ using System.Runtime.InteropServices;
using HandBrake.Interop.Interop.HbLib;
using HandBrake.Interop.Interop.Helpers;
@@ -784,5 +785,12 @@ namespace HandBrake.Interop.Interop
return new List();
}
+
+ public static string GetAutonameAudioTrack(string name, ulong layout, int mixdown, bool keep_name, int behaviour)
+ {
+ IntPtr nameptr = Marshal.StringToHGlobalAnsi(name);
+
+ return Marshal.PtrToStringUTF8((IntPtr)HBFunctions.hb_audio_name_generate(nameptr, layout, mixdown, keep_name ? 1 : 0, behaviour));
+ }
}
}
diff --git a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
index 2dd67bb06..c3d2627d4 100644
--- a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
+++ b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
@@ -405,8 +405,6 @@ namespace HandBrake.Interop.Interop.HbLib
}
-
-
public static IntPtr hb_video_encoder_get_presets(int encoder)
{
return IsArmDevice ? HbFunctionsArm.hb_video_encoder_get_presets(encoder) : HBFunctions64.hb_video_encoder_get_presets(encoder);
@@ -652,5 +650,17 @@ namespace HandBrake.Interop.Interop.HbLib
return IsArmDevice ? HbFunctionsArm.hb_get_preview3_json(hbHandle, preview_idx, job_dict)
: HBFunctions64.hb_get_preview3_json(hbHandle, preview_idx, job_dict);
}
+
+ public static int hb_audio_autonaming_behavior_get_from_name(IntPtr name)
+ {
+ return IsArmDevice ? HbFunctionsArm.hb_audio_autonaming_behavior_get_from_name(name)
+ : HBFunctions64.hb_audio_autonaming_behavior_get_from_name(name);
+ }
+
+ public static IntPtr hb_audio_name_generate(IntPtr name, ulong layout, int mixdown, int keep_name, int behaviour)
+ {
+ return IsArmDevice ? HbFunctionsArm.hb_audio_name_generate(name, layout, mixdown, keep_name, behaviour)
+ : HBFunctions64.hb_audio_name_generate(name, layout, mixdown, keep_name, behaviour);
+ }
}
}
diff --git a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions64.cs b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions64.cs
index bf77bd550..ff1988763 100644
--- a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions64.cs
+++ b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions64.cs
@@ -140,6 +140,12 @@ namespace HandBrake.Interop.Interop.HbLib
[DllImport("hb", EntryPoint = "hb_audio_bitrate_get_next", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr hb_audio_bitrate_get_next(IntPtr last);
+ [DllImport("hb", EntryPoint = "hb_audio_autonaming_behavior_get_from_name", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int hb_audio_autonaming_behavior_get_from_name(IntPtr name);
+
+ [DllImport("hb", EntryPoint = "hb_audio_name_generate", CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr hb_audio_name_generate(IntPtr name, ulong layout, int mixdown, int keep_name, int behaviour);
+
[DllImport("hb", EntryPoint = "hb_video_quality_get_limits", CallingConvention = CallingConvention.Cdecl)]
public static extern void hb_video_quality_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction);
@@ -355,5 +361,9 @@ namespace HandBrake.Interop.Interop.HbLib
// hb_get_preview3(hb_handle_t* h, int picture, const char * job_dict)
[DllImport("hb", EntryPoint = "hb_get_preview3_json", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr hb_get_preview3_json(IntPtr hbHandle, int preview_idx, [In][MarshalAs(UnmanagedType.LPStr)] string job_dict);
+
+
+
+
}
}
diff --git a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctionsArm.cs b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctionsArm.cs
index fe18c7be4..08f4bb1d0 100644
--- a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctionsArm.cs
+++ b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctionsArm.cs
@@ -140,6 +140,12 @@ namespace HandBrake.Interop.Interop.HbLib
[DllImport("hb_a64", EntryPoint = "hb_audio_bitrate_get_next", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr hb_audio_bitrate_get_next(IntPtr last);
+ [DllImport("hb_a64", EntryPoint = "hb_audio_autonaming_behavior_get_from_name", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int hb_audio_autonaming_behavior_get_from_name(IntPtr name);
+
+ [DllImport("hb_a64", EntryPoint = "hb_audio_name_generate", CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr hb_audio_name_generate(IntPtr name, ulong layout, int mixdown, int keep_name, int behaviour);
+
[DllImport("hb_a64", EntryPoint = "hb_video_quality_get_limits", CallingConvention = CallingConvention.Cdecl)]
public static extern void hb_video_quality_get_limits(uint codec, ref float low, ref float high, ref float granularity, ref int direction);
diff --git a/win/CS/HandBrake.Interop/Interop/Json/Presets/HBPreset.cs b/win/CS/HandBrake.Interop/Interop/Json/Presets/HBPreset.cs
index 20e42915c..7f87c518b 100644
--- a/win/CS/HandBrake.Interop/Interop/Json/Presets/HBPreset.cs
+++ b/win/CS/HandBrake.Interop/Interop/Json/Presets/HBPreset.cs
@@ -9,7 +9,6 @@
namespace HandBrake.Interop.Interop.Json.Presets
{
- using System;
using System.Collections.Generic;
public class HBPreset
@@ -46,6 +45,10 @@ namespace HandBrake.Interop.Interop.Json.Presets
///
public string AudioTrackSelectionBehavior { get; set; }
+ public bool AudioTrackNamePassthru { get; set; }
+
+ public string AudioAutomaticNamingBehavior { get; set; }
+
///
/// Gets or sets a value indicating whether chapter markers.
///
@@ -316,6 +319,8 @@ namespace HandBrake.Interop.Interop.Json.Presets
///
public string SubtitleTrackSelectionBehavior { get; set; }
+ public bool SubtitleTrackNamePassthru { get; set; }
+
///
/// Gets or sets the video avg bitrate.
///
diff --git a/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviours.cs b/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviours.cs
index f39aaca5f..e1133baad 100644
--- a/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviours.cs
+++ b/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviours.cs
@@ -13,6 +13,7 @@ namespace HandBrakeWPF.Model.Audio
using System.ComponentModel;
using System.Linq;
+ using HandBrake.App.Core.Utilities;
using HandBrake.Interop.Interop;
using HandBrake.Interop.Interop.Interfaces.Model;
using HandBrake.Interop.Interop.Interfaces.Model.Encoders;
@@ -24,7 +25,11 @@ namespace HandBrakeWPF.Model.Audio
private AudioBehaviourModes selectedBehaviour;
private BindingList selectedLanguages;
private AudioTrackDefaultsMode trackDefaultBehaviour;
-
+
+ private AudioTrackNamingBehaviour audioAutomaticNamingBehavior;
+
+ private bool audioTrackNamePassthru;
+
public AudioBehaviours()
{
this.SelectedBehaviour = AudioBehaviourModes.None;
@@ -33,6 +38,7 @@ namespace HandBrakeWPF.Model.Audio
this.BehaviourTracks = new BindingList();
this.AllowedPassthruOptions = new BindingList();
this.AudioFallbackEncoder = HandBrakeEncoderHelpers.GetAudioEncoder(HBAudioEncoder.AvAac);
+
}
public AudioBehaviours(AudioBehaviours behaviours)
@@ -43,6 +49,8 @@ namespace HandBrakeWPF.Model.Audio
this.BehaviourTracks = behaviours.BehaviourTracks;
this.AllowedPassthruOptions = new BindingList(behaviours.AllowedPassthruOptions);
this.AudioFallbackEncoder = behaviours.AudioFallbackEncoder;
+ this.AudioTrackNamePassthru = behaviours.AudioTrackNamePassthru;
+ this.AudioAutomaticNamingBehavior = behaviours.AudioAutomaticNamingBehavior;
}
public AudioBehaviourModes SelectedBehaviour
@@ -102,5 +110,35 @@ namespace HandBrakeWPF.Model.Audio
public IList AllowedPassthruOptions { get; set; }
public HBAudioEncoder AudioFallbackEncoder { get; set; }
+
+ public bool AudioTrackNamePassthru
+ {
+ get => this.audioTrackNamePassthru;
+ set
+ {
+ if (value == this.audioTrackNamePassthru)
+ {
+ return;
+ }
+
+ this.audioTrackNamePassthru = value;
+ this.NotifyOfPropertyChange(() => this.AudioTrackNamePassthru);
+ }
+ }
+
+ public AudioTrackNamingBehaviour AudioAutomaticNamingBehavior
+ {
+ get => this.audioAutomaticNamingBehavior;
+ set
+ {
+ if (value == this.audioAutomaticNamingBehavior)
+ {
+ return;
+ }
+
+ this.audioAutomaticNamingBehavior = value;
+ this.NotifyOfPropertyChange(() => this.AudioAutomaticNamingBehavior);
+ }
+ }
}
}
diff --git a/win/CS/HandBrakeWPF/Model/Audio/AudioTrackNamingBehaviour.cs b/win/CS/HandBrakeWPF/Model/Audio/AudioTrackNamingBehaviour.cs
new file mode 100644
index 000000000..af58f5f43
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Model/Audio/AudioTrackNamingBehaviour.cs
@@ -0,0 +1,22 @@
+using HandBrakeWPF.Properties;
+
+namespace HandBrakeWPF.Model.Audio
+{
+ using HandBrake.Interop.Attributes;
+
+ public enum AudioTrackNamingBehaviour
+ {
+
+ [DisplayName(typeof(Resources), "AudioTrackNaming_None")]
+ [ShortName("none")]
+ None,
+
+ [DisplayName(typeof(Resources), "AudioTrackNaming_Unnamed")]
+ [ShortName("unnamed")]
+ Unnamed,
+
+ [DisplayName(typeof(Resources), "AudioTrackNaming_All")]
+ [ShortName("All")]
+ All,
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviours.cs b/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviours.cs
index e56482471..40ef92db9 100644
--- a/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviours.cs
+++ b/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviours.cs
@@ -24,6 +24,8 @@ namespace HandBrakeWPF.Model.Subtitles
private bool addClosedCaptions;
private SubtitleBurnInBehaviourModes selectedBurnInBehaviour;
+ private bool subtitleTrackNamePassthru;
+
public SubtitleBehaviours()
{
this.SelectedBehaviour = SubtitleBehaviourModes.None;
@@ -38,6 +40,7 @@ namespace HandBrakeWPF.Model.Subtitles
this.SelectedLanguages = new BindingList(behaviours.SelectedLanguages.ToList());
this.AddClosedCaptions = behaviours.AddClosedCaptions;
this.AddForeignAudioScanTrack = behaviours.AddForeignAudioScanTrack;
+ this.SubtitleTrackNamePassthru = behaviours.SubtitleTrackNamePassthru;
}
public SubtitleBehaviourModes SelectedBehaviour
@@ -124,5 +127,20 @@ namespace HandBrakeWPF.Model.Subtitles
this.NotifyOfPropertyChange(() => this.AddClosedCaptions);
}
}
+
+ public bool SubtitleTrackNamePassthru
+ {
+ get => this.subtitleTrackNamePassthru;
+ set
+ {
+ if (value == this.subtitleTrackNamePassthru)
+ {
+ return;
+ }
+
+ this.subtitleTrackNamePassthru = value;
+ this.NotifyOfPropertyChange(() => this.SubtitleTrackNamePassthru);
+ }
+ }
}
}
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
index 3c58948d7..c6bcaf237 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
@@ -364,6 +364,15 @@ namespace HandBrakeWPF.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Autonaming:.
+ ///
+ public static string AudioDefaultsView_AutoNaming {
+ get {
+ return ResourceManager.GetString("AudioDefaultsView_AutoNaming", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Clear.
///
@@ -373,6 +382,15 @@ namespace HandBrakeWPF.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Track Naming Behaviour:.
+ ///
+ public static string AudioDefaultsView_NamingBehaviour {
+ get {
+ return ResourceManager.GetString("AudioDefaultsView_NamingBehaviour", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Automatic Audio Selections.
///
@@ -382,6 +400,15 @@ namespace HandBrakeWPF.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Passthru Track Names.
+ ///
+ public static string AudioDefaultsView_PassthruTrackNames {
+ get {
+ return ResourceManager.GetString("AudioDefaultsView_PassthruTrackNames", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Source Track Selection.
///
@@ -391,6 +418,33 @@ namespace HandBrakeWPF.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to All Tracks.
+ ///
+ public static string AudioTrackNaming_All {
+ get {
+ return ResourceManager.GetString("AudioTrackNaming_All", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to None.
+ ///
+ public static string AudioTrackNaming_None {
+ get {
+ return ResourceManager.GetString("AudioTrackNaming_None", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Unnamed Only.
+ ///
+ public static string AudioTrackNaming_Unnamed {
+ get {
+ return ResourceManager.GetString("AudioTrackNaming_Unnamed", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Allow passthru of:.
///
@@ -7557,6 +7611,15 @@ namespace HandBrakeWPF.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Passthru Track Names.
+ ///
+ public static string SubtitlesDefaultsView_PassthruTrackName {
+ get {
+ return ResourceManager.GetString("SubtitlesDefaultsView_PassthruTrackName", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Add Closed Captions when available.
///
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.resx b/win/CS/HandBrakeWPF/Properties/Resources.resx
index 5d423f3dc..17b80f369 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.resx
@@ -2977,4 +2977,25 @@ To allow multiple simultaneous encodes, turn on "Process Isolation" in Tools Men
Start Queue (Immediately)
+
+ None
+
+
+ Unnamed Only
+
+
+ All Tracks
+
+
+ Track Naming Behaviour:
+
+
+ Autonaming:
+
+
+ Passthru Track Names
+
+
+ Passthru Track Names
+
\ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/AudioTrack.cs b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/AudioTrack.cs
index 48baae85f..aa1071819 100644
--- a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/AudioTrack.cs
+++ b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/AudioTrack.cs
@@ -62,6 +62,9 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
public AudioTrack(AudioTrack track, bool setScannedTrack)
{
+ this.PassthruTracks = track.PassthruTracks;
+ this.TrackNamingBehaviour = track.TrackNamingBehaviour;
+
this.bitrate = track.Bitrate;
this.drc = track.DRC;
this.encoder = track.Encoder;
@@ -90,8 +93,12 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
this.SetupLimits();
}
- public AudioTrack(AudioBehaviourTrack track, Audio sourceTrack, IList passthruEncoders, HBAudioEncoder fallbackEncoder, OutputFormat container)
+ public AudioTrack(AudioBehaviourTrack track, Audio sourceTrack, IList passthruEncoders, HBAudioEncoder fallbackEncoder, OutputFormat container, Func passthruTracks,
+ Func trackNamingBehaviour)
{
+ this.PassthruTracks = passthruTracks;
+ this.TrackNamingBehaviour = trackNamingBehaviour;
+
HBAudioEncoder validatedEncoder = track.Encoder;
if (track.IsPassthru)
{
@@ -140,9 +147,11 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
if (!string.IsNullOrEmpty(this.scannedTrack?.Name))
{
- this.TrackName = this.scannedTrack.Name;
+ this.PassthruTrackName();
}
+ this.AutoNameTrack();
+
this.SetupLimits();
}
@@ -169,6 +178,9 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
}
this.GetDefaultMixdownIfNull();
+
+ this.PassthruTrackName();
+ this.AutoNameTrack();
}
}
@@ -476,7 +488,39 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
}
}
+ [JsonIgnore]
+ public Func PassthruTracks { get; set; }
+
+ [JsonIgnore]
+ public Func TrackNamingBehaviour { get; set; }
+
/* Helper Methods */
+ public void PassthruTrackName()
+ {
+ if (PassthruTracks != null)
+ {
+ bool passthru = PassthruTracks();
+ if (this.ScannedTrack != null && passthru)
+ {
+ this.TrackName = this.ScannedTrack.Name;
+ }
+ }
+ }
+
+ public void AutoNameTrack()
+ {
+ if (TrackNamingBehaviour != null)
+ {
+ AudioTrackNamingBehaviour behaviour = TrackNamingBehaviour();
+
+ if (this.ScannedTrack != null)
+ {
+ bool keep = behaviour == AudioTrackNamingBehaviour.Unnamed || behaviour == AudioTrackNamingBehaviour.None;
+ HBMixdown currentMixdown = HandBrakeEncoderHelpers.GetMixdown(this.mixDown);
+ this.TrackName = HandBrakeEncoderHelpers.GetAutonameAudioTrack(this.TrackName, 0, currentMixdown.Id, keep, (int)behaviour);
+ }
+ }
+ }
private void SetupLimits()
{
@@ -601,7 +645,7 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
this.MixDown = sanitisedMixdown.ShortName;
}
}
-
+
public override string ToString()
{
return string.Format("Audio Track: Title {0}", this.ScannedTrack.ToString());
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/SubtitleTrack.cs b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/SubtitleTrack.cs
index 914065126..eece77299 100644
--- a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/SubtitleTrack.cs
+++ b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/SubtitleTrack.cs
@@ -9,8 +9,9 @@
namespace HandBrakeWPF.Services.Encode.Model.Models
{
+ using System;
+
using HandBrake.Interop.Interop.Interfaces.Model;
- using HandBrake.Interop.Utilities;
using HandBrakeWPF.Services.Scan.Model;
using HandBrakeWPF.ViewModels;
@@ -80,6 +81,7 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
this.SubtitleType = subtitle.SubtitleType;
this.SourceTrack = subtitle.SourceTrack;
this.Name = subtitle.Name;
+ this.TrackNamingCallback = subtitle.TrackNamingCallback;
}
#endregion
@@ -185,9 +187,13 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
this.Forced = false;
}
- if (this.sourceTrack != null)
+ if (TrackNamingCallback != null)
{
- this.Name = !string.IsNullOrEmpty(this.sourceTrack.Name) ? this.sourceTrack.Name : string.Empty;
+ bool passthruName = TrackNamingCallback();
+ if (passthruName)
+ {
+ this.SetTrackNamePassthru();
+ }
}
}
}
@@ -316,6 +322,16 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
}
}
+ public void SetTrackNamePassthru()
+ {
+ if (this.SourceTrack != null)
+ {
+ this.Name = this.SourceTrack.Name;
+ }
+ }
+
+ public Func TrackNamingCallback { get; set; }
+
public override string ToString()
{
return string.Format("Subtitle Track: Title {0}", this.SrtFileName ?? this.SourceTrack.ToString());
diff --git a/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs b/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
index 817f0c68c..e666fa8d2 100644
--- a/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
+++ b/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
@@ -350,6 +350,9 @@ namespace HandBrakeWPF.Services.Presets.Factories
? AudioBehaviourModes.AllMatching
: AudioBehaviourModes.FirstMatch;
+ preset.AudioTrackBehaviours.AudioTrackNamePassthru = importedPreset.AudioTrackNamePassthru;
+ preset.AudioTrackBehaviours.AudioAutomaticNamingBehavior = EnumHelper.GetValue(importedPreset.AudioAutomaticNamingBehavior);
+
preset.AudioTrackBehaviours.SelectedTrackDefaultBehaviour = importedPreset.AudioSecondaryEncoderMode ? AudioTrackDefaultsMode.FirstTrack : AudioTrackDefaultsMode.AllTracks;
if (importedPreset.AudioCopyMask != null)
@@ -417,6 +420,7 @@ namespace HandBrakeWPF.Services.Presets.Factories
preset.SubtitleTrackBehaviours = new SubtitleBehaviours();
preset.SubtitleTrackBehaviours.SelectedBehaviour = EnumHelper.GetValue(importedPreset.SubtitleTrackSelectionBehavior);
preset.SubtitleTrackBehaviours.SelectedBurnInBehaviour = EnumHelper.GetValue(importedPreset.SubtitleBurnBehavior);
+ preset.SubtitleTrackBehaviours.SubtitleTrackNamePassthru = importedPreset.SubtitleTrackNamePassthru;
preset.SubtitleTrackBehaviours.AddClosedCaptions = importedPreset.SubtitleAddCC;
preset.SubtitleTrackBehaviours.AddForeignAudioScanTrack = importedPreset.SubtitleAddForeignAudioSearch;
@@ -543,6 +547,9 @@ namespace HandBrakeWPF.Services.Presets.Factories
preset.AudioList.Add(track);
}
+ preset.AudioTrackNamePassthru = export.AudioTrackBehaviours.AudioTrackNamePassthru;
+ preset.AudioAutomaticNamingBehavior = EnumHelper.GetShortName(export.AudioTrackBehaviours.AudioAutomaticNamingBehavior);
+
// Subtitles
preset.SubtitleAddCC = export.SubtitleTrackBehaviours.AddClosedCaptions;
preset.SubtitleAddForeignAudioSearch = export.SubtitleTrackBehaviours.AddForeignAudioScanTrack;
@@ -551,6 +558,7 @@ namespace HandBrakeWPF.Services.Presets.Factories
preset.SubtitleBurnBehavior = EnumHelper.GetShortName(export.SubtitleTrackBehaviours.SelectedBurnInBehaviour);
preset.SubtitleLanguageList = HandBrakeLanguagesHelper.GetLanguageCodes(export.SubtitleTrackBehaviours.SelectedLanguages);
preset.SubtitleTrackSelectionBehavior = EnumHelper.GetShortName(export.SubtitleTrackBehaviours.SelectedBehaviour);
+ preset.SubtitleTrackNamePassthru = export.SubtitleTrackBehaviours.SubtitleTrackNamePassthru;
// Chapters
preset.ChapterMarkers = export.Task.IncludeChapterMarkers;
diff --git a/win/CS/HandBrakeWPF/ViewModels/AudioDefaultsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AudioDefaultsViewModel.cs
index d3d1b62fc..9670dae52 100644
--- a/win/CS/HandBrakeWPF/ViewModels/AudioDefaultsViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/AudioDefaultsViewModel.cs
@@ -9,19 +9,16 @@
namespace HandBrakeWPF.ViewModels
{
- using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
- using System.Runtime.CompilerServices;
using HandBrake.App.Core.Utilities;
using HandBrake.Interop.Interop;
using HandBrake.Interop.Interop.Interfaces.Model;
using HandBrake.Interop.Interop.Interfaces.Model.Encoders;
- using HandBrake.Interop.Utilities;
using HandBrakeWPF.Commands;
using HandBrakeWPF.Model.Audio;
@@ -216,6 +213,15 @@ namespace HandBrakeWPF.ViewModels
///
public IList SampleRates { get; set; }
+ public IList TrackNamingBehaviours
+ {
+ get
+ {
+ return new BindingList(EnumHelper.GetEnumList().ToList());
+ }
+ }
+
+
#endregion
#region Public Methods
@@ -342,6 +348,9 @@ namespace HandBrakeWPF.ViewModels
}
this.UpdateAvailableLanguages();
+
+ this.AudioBehaviours.AudioTrackNamePassthru = behaviours.AudioTrackNamePassthru;
+ this.AudioBehaviours.AudioAutomaticNamingBehavior = behaviours.AudioAutomaticNamingBehavior;
}
this.CorrectAudioEncoders(this.OutputFormat);
diff --git a/win/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs
index 9186d3161..2963a4704 100644
--- a/win/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs
@@ -403,7 +403,12 @@ namespace HandBrakeWPF.ViewModels
{
if (!useBehaviourTemplateMode)
{
- this.Task.AudioTracks.Add(new AudioTrack { ScannedTrack = track });
+ this.Task.AudioTracks.Add(new AudioTrack
+ {
+ PassthruTracks = this.CheckPassthruTrack,
+ TrackNamingBehaviour = this.CheckNamingBehaviour,
+ ScannedTrack = track
+ });
return;
}
@@ -413,7 +418,12 @@ namespace HandBrakeWPF.ViewModels
AudioBehaviourTrack template = this.AudioBehaviours.BehaviourTracks.FirstOrDefault();
if (this.CanAddTrack(template, track, this.AudioBehaviours.AudioFallbackEncoder))
{
- this.Task.AudioTracks.Add( template != null ? new AudioTrack(template, track, this.AudioBehaviours.AllowedPassthruOptions, this.AudioBehaviours.AudioFallbackEncoder, this.Task.OutputFormat) : new AudioTrack { ScannedTrack = track });
+ this.Task.AudioTracks.Add(template != null ? new AudioTrack(template, track, this.AudioBehaviours.AllowedPassthruOptions, this.AudioBehaviours.AudioFallbackEncoder, this.Task.OutputFormat, this.CheckPassthruTrack, this.CheckNamingBehaviour) : new AudioTrack
+ {
+ PassthruTracks = this.CheckPassthruTrack,
+ TrackNamingBehaviour = this.CheckNamingBehaviour,
+ ScannedTrack = track
+ });
}
break;
case AudioTrackDefaultsMode.AllTracks:
@@ -421,7 +431,12 @@ namespace HandBrakeWPF.ViewModels
{
if (this.CanAddTrack(tmpl, track, this.AudioBehaviours.AudioFallbackEncoder))
{
- this.Task.AudioTracks.Add(tmpl != null ? new AudioTrack(tmpl, track, this.AudioBehaviours.AllowedPassthruOptions, this.AudioBehaviours.AudioFallbackEncoder, this.Task.OutputFormat) : new AudioTrack { ScannedTrack = track });
+ this.Task.AudioTracks.Add(tmpl != null ? new AudioTrack(tmpl, track, this.AudioBehaviours.AllowedPassthruOptions, this.AudioBehaviours.AudioFallbackEncoder, this.Task.OutputFormat, this.CheckPassthruTrack, this.CheckNamingBehaviour) : new AudioTrack
+ {
+ PassthruTracks = this.CheckPassthruTrack,
+ TrackNamingBehaviour = this.CheckNamingBehaviour,
+ ScannedTrack = track
+ });
}
}
@@ -472,10 +487,10 @@ namespace HandBrakeWPF.ViewModels
Audio sourceTrack = this.GetPreferredAudioTrack();
if (this.CanAddTrack(track, sourceTrack, this.AudioBehaviours.AudioFallbackEncoder))
{
- this.Task.AudioTracks.Add(new AudioTrack(track, sourceTrack, this.AudioBehaviours.AllowedPassthruOptions, this.AudioBehaviours.AudioFallbackEncoder, this.Task.OutputFormat));
+ this.Task.AudioTracks.Add(new AudioTrack(track, sourceTrack, this.AudioBehaviours.AllowedPassthruOptions, this.AudioBehaviours.AudioFallbackEncoder, this.Task.OutputFormat, this.CheckPassthruTrack, this.CheckNamingBehaviour));
}
}
-
+
// Step 4, Handle the default selection behaviour.
switch (this.AudioBehaviours.SelectedBehaviour)
{
@@ -489,6 +504,12 @@ namespace HandBrakeWPF.ViewModels
this.AddAllRemainingForSelectedLanguages();
break;
}
+
+ foreach (AudioTrack track in this.Task.AudioTracks)
+ {
+ track.PassthruTrackName();
+ track.AutoNameTrack();
+ }
}
///
@@ -621,6 +642,26 @@ namespace HandBrakeWPF.ViewModels
return orderedTracks;
}
+ private AudioTrackNamingBehaviour CheckNamingBehaviour()
+ {
+ if (this.AudioBehaviours != null)
+ {
+ return this.AudioBehaviours.AudioAutomaticNamingBehavior;
+ }
+
+ return AudioTrackNamingBehaviour.None;
+ }
+
+ private bool CheckPassthruTrack()
+ {
+ if (this.AudioBehaviours != null)
+ {
+ return this.AudioBehaviours.AudioTrackNamePassthru;
+ }
+
+ return false;
+ }
+
#endregion
}
}
\ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/SubtitlesDefaultsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/SubtitlesDefaultsViewModel.cs
index d7ae06336..8f982d697 100644
--- a/win/CS/HandBrakeWPF/ViewModels/SubtitlesDefaultsViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/SubtitlesDefaultsViewModel.cs
@@ -230,6 +230,7 @@ namespace HandBrakeWPF.ViewModels
this.SubtitleBehaviours.SelectedBurnInBehaviour = behaviours.SelectedBurnInBehaviour;
this.SubtitleBehaviours.AddClosedCaptions = behaviours.AddClosedCaptions;
this.SubtitleBehaviours.AddForeignAudioScanTrack = behaviours.AddForeignAudioScanTrack;
+ this.SubtitleBehaviours.SubtitleTrackNamePassthru = behaviours.SubtitleTrackNamePassthru;
foreach (Language selectedItem in behaviours.SelectedLanguages)
{
diff --git a/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
index 5a5f3e704..bf4e5125f 100644
--- a/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
@@ -159,7 +159,6 @@ namespace HandBrakeWPF.ViewModels
this.CheckAddState(count);
}
-
///
/// Add a new Track
///
@@ -659,12 +658,12 @@ namespace HandBrakeWPF.ViewModels
}
}
-
SubtitleTrack track = new SubtitleTrack
- {
- SubtitleType = source.SubtitleType,
- SourceTrack = source,
- };
+ {
+ TrackNamingCallback = this.IsTrackNamePassthruEnabled,
+ SubtitleType = source.SubtitleType,
+ SourceTrack = source,
+ };
// Burn-in Behaviours
if (this.SubtitleBehaviours.SelectedBurnInBehaviour == SubtitleBurnInBehaviourModes.ForeignAudio
@@ -700,6 +699,12 @@ namespace HandBrakeWPF.ViewModels
}
}
+ // Default the track name to the source track name, if it exists.
+ if (SubtitleBehaviours.SubtitleTrackNamePassthru)
+ {
+ track.SetTrackNamePassthru();
+ }
+
var encodeTask = this.Task;
if (encodeTask != null)
{
@@ -776,14 +781,16 @@ namespace HandBrakeWPF.ViewModels
string extension = Path.GetExtension(srtFile);
SubtitleTrack track = new SubtitleTrack
- {
- SrtFileName = Path.GetFileNameWithoutExtension(srtFile),
- SrtOffset = 0,
- SrtCharCode = "UTF-8",
- SrtLang = HandBrakeLanguagesHelper.GetByName("English"),
- SubtitleType = extension.Contains("ass", StringComparison.InvariantCultureIgnoreCase) ? SubtitleType.IMPORTSSA : SubtitleType.IMPORTSRT,
- SrtPath = srtFile
- };
+ {
+ TrackNamingCallback = this.IsTrackNamePassthruEnabled,
+ SrtFileName = Path.GetFileNameWithoutExtension(srtFile),
+ SrtOffset = 0,
+ SrtCharCode = "UTF-8",
+ SrtLang = HandBrakeLanguagesHelper.GetByName("English"),
+ SubtitleType = extension.Contains("ass", StringComparison.InvariantCultureIgnoreCase) ? SubtitleType.IMPORTSSA : SubtitleType.IMPORTSRT,
+ SrtPath = srtFile,
+
+ };
this.Task.SubtitleTracks.Add(track);
}
}
@@ -799,5 +806,10 @@ namespace HandBrakeWPF.ViewModels
MessageBoxImage.Information);
}
}
+
+ public bool IsTrackNamePassthruEnabled()
+ {
+ return this.SubtitleBehaviours.SubtitleTrackNamePassthru;
+ }
}
}
diff --git a/win/CS/HandBrakeWPF/Views/AudioDefaultsView.xaml b/win/CS/HandBrakeWPF/Views/AudioDefaultsView.xaml
index 34b8d1375..010b02864 100644
--- a/win/CS/HandBrakeWPF/Views/AudioDefaultsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/AudioDefaultsView.xaml
@@ -95,7 +95,7 @@
+ SelectionMode="Extended" Width="225" Height="150" />
@@ -110,7 +110,7 @@
@@ -158,8 +158,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/win/CS/HandBrakeWPF/Views/SubtitlesDefaultsView.xaml b/win/CS/HandBrakeWPF/Views/SubtitlesDefaultsView.xaml
index 23a5f66c8..ea7bfcfd7 100644
--- a/win/CS/HandBrakeWPF/Views/SubtitlesDefaultsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/SubtitlesDefaultsView.xaml
@@ -54,6 +54,7 @@
+
@@ -115,11 +116,13 @@
HorizontalAlignment="Left" IsChecked="{Binding SubtitleBehaviours.AddClosedCaptions}"/>
+
-
-
+