From b1fcb3154f5c09a81e0cf712fad9d22f4e8e89bc Mon Sep 17 00:00:00 2001 From: jstebbins Date: Tue, 2 Jun 2009 15:32:01 +0000 Subject: softsubtitles: - when doing an indepth scan, do not scan CC tracks - separate subtitle configureation attributes into separate hb_subtitle_config_t. Add an instance of this to hb_job_t for setting the attributes of the subtitle found through an indepth scan - Add a default_track flag to hb_subtitle_config_t that tells the muxer that the track should be flaged as the default. muxmkv uses this. - When an indepth scan is complete, check to see if the autoselected subtitle matchces (by id) one of the manually selected subtitles. If a match is found, the autoselected subtitle with all the attributes the user assigned to it replaces the manually selected subtitle. - LinGui: Add "Default" column to subtitle tab. This is a radio that lets the user choose which subtitle should be displayed by default. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2468 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- libhb/common.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'libhb/common.h') diff --git a/libhb/common.h b/libhb/common.h index 83460653a..b9e26682e 100644 --- a/libhb/common.h +++ b/libhb/common.h @@ -55,6 +55,7 @@ typedef struct hb_chapter_s hb_chapter_t; typedef struct hb_audio_s hb_audio_t; typedef struct hb_audio_config_s hb_audio_config_t; typedef struct hb_subtitle_s hb_subtitle_t; +typedef struct hb_subtitle_config_s hb_subtitle_config_t; typedef struct hb_metadata_s hb_metadata_t; typedef struct hb_state_s hb_state_t; typedef union hb_esconfig_u hb_esconfig_t; @@ -108,6 +109,13 @@ struct hb_mixdown_s int amixdown; }; +struct hb_subtitle_config_s +{ + enum subdest { RENDERSUB, PASSTHRUSUB } dest; + int force; + int default_track; +}; + #define HB_VIDEO_RATE_BASE 27000000 extern hb_rate_t hb_video_rates[]; @@ -235,9 +243,10 @@ struct hb_job_s int mp4_optimize; int ipod_atom; - int indepth_scan; - hb_subtitle_t ** select_subtitle; - char * native_language; + int indepth_scan; + hb_subtitle_config_t select_subtitle_config; + hb_subtitle_t ** select_subtitle; + char * native_language; int angle; // dvd angle to encode int frame_to_stop; // declare eof when we hit this frame @@ -439,12 +448,13 @@ struct hb_chapter_s struct hb_subtitle_s { - int track; int id; + int track; + + hb_subtitle_config_t config; + enum subtype { PICTURESUB, TEXTSUB } format; enum subsource { VOBSUB, SRTSUB, CC608SUB, CC708SUB } source; - enum subdest { RENDERSUB, PASSTHRUSUB } dest; - int force; char lang[1024]; char iso639_2[4]; uint8_t type; /* Closed Caption, Childrens, Directors etc */ -- cgit v1.2.3