diff options
author | jstebbins <[email protected]> | 2014-03-30 17:27:18 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2014-03-30 17:27:18 +0000 |
commit | 05e6e447df6d66307a2cbcf7be19dc6d67676e07 (patch) | |
tree | 311923bb6f135f43c71f155008e2036c8e37fe68 /gtk/src | |
parent | c02a0dc40464e6d0700ae0514de72d951276b020 (diff) |
libhb: enable burn-in of all supported text subtitle formats
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6141 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk/src')
-rw-r--r-- | gtk/src/hb-backend.c | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c index 77282d2ee..737814c5d 100644 --- a/gtk/src/hb-backend.c +++ b/gtk/src/hb-backend.c @@ -4704,8 +4704,17 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, int titleindex) strncpy(sub_config.src_codeset, code, 39); sub_config.src_codeset[39] = 0; sub_config.force = 0; - sub_config.dest = PASSTHRUSUB; sub_config.default_track = def; + if (burned && !one_burned && hb_subtitle_can_burn(SRTSUB)) + { + // Only allow one subtitle to be burned into the video + sub_config.dest = RENDERSUB; + one_burned = TRUE; + } + else + { + sub_config.dest = PASSTHRUSUB; + } hb_srt_add( job, &sub_config, lang); @@ -4718,18 +4727,16 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, int titleindex) subtitle = ghb_settings_get_int(ssettings, "SubtitleTrack"); if (subtitle == -1) { - if (!burned) - { - job->select_subtitle_config.dest = PASSTHRUSUB; - } - else if (burned) + if (burned && !one_burned) { // Only allow one subtitle to be burned into the video - if (one_burned) - continue; job->select_subtitle_config.dest = RENDERSUB; one_burned = TRUE; } + else + { + job->select_subtitle_config.dest = PASSTHRUSUB; + } job->select_subtitle_config.force = force; job->select_subtitle_config.default_track = def; job->indepth_scan = 1; @@ -4744,18 +4751,16 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, int titleindex) if (subt != NULL) { sub_config = subt->config; - if (!burned) - { - sub_config.dest = PASSTHRUSUB; - } - else if (burned && hb_subtitle_can_burn(subt->source)) + if (burned && !one_burned && hb_subtitle_can_burn(subt->source)) { // Only allow one subtitle to be burned into the video - if (one_burned) - continue; sub_config.dest = RENDERSUB; one_burned = TRUE; } + else + { + sub_config.dest = PASSTHRUSUB; + } sub_config.force = force; sub_config.default_track = def; hb_subtitle_add( job, &sub_config, subtitle ); |