summaryrefslogtreecommitdiffstats
path: root/gtk/src
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2014-03-30 17:27:18 +0000
committerjstebbins <[email protected]>2014-03-30 17:27:18 +0000
commit05e6e447df6d66307a2cbcf7be19dc6d67676e07 (patch)
tree311923bb6f135f43c71f155008e2036c8e37fe68 /gtk/src
parentc02a0dc40464e6d0700ae0514de72d951276b020 (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.c35
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 );