OSDN Git Service

MacGui: Preview - Add the foreign language search for subtitles scan to the live...
authordynaflash <dynaflash@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Tue, 23 Jun 2009 23:41:24 +0000 (23:41 +0000)
committerdynaflash <dynaflash@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Tue, 23 Jun 2009 23:41:24 +0000 (23:41 +0000)
- Note: Its very possible that we are getting a full title scan for the foreign language search due to the observed time of the scan during the preview encode. Further testing probably necessary.

git-svn-id: svn://localhost/HandBrake/trunk@2609 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/Controller.mm
macosx/HBPreviewController.mm

index 4203c67..63523dc 100644 (file)
@@ -2862,7 +2862,7 @@ bool one_burned = FALSE;
                 /* NOTE: Currently foreign language search is borked for preview.
                  * Commented out but left in for initial commit. */
                 
-                /*
+                
                 [self writeToActivityLog: "Foreign Language Search: %d", 1];
                 
                 job->indepth_scan = 1;
@@ -2872,12 +2872,16 @@ bool one_burned = FALSE;
                     {
                         job->select_subtitle_config.dest = hb_subtitle_config_s::PASSTHRUSUB;
                     }
+                    else
+                    {
+                        job->select_subtitle_config.dest = hb_subtitle_config_s::RENDERSUB;
+                    }
                     
                     job->select_subtitle_config.force = force;
                     job->select_subtitle_config.default_track = def;
                     
                 }
-               */ 
+                
                 
             }
             else
index 29beeb2..052648d 100644 (file)
@@ -928,7 +928,33 @@ return YES;
     /* lets go ahead and send it off to libhb
      * Note: unlike a full encode, we only send 1 pass regardless if the final encode calls for 2 passes.
      * this should suffice for a fairly accurate short preview and cuts our preview generation time in half.
+     * However we also need to take into account the indepth scan for subtitles.
      */
+    /*
+     * If scanning we need to do some extra setup of the job.
+     */
+    if( job->indepth_scan == 1 )
+    {
+        char *x264opts_tmp;
+        
+        /*
+         * When subtitle scan is enabled do a fast pre-scan job
+         * which will determine which subtitles to enable, if any.
+         */
+        job->pass = -1;
+        x264opts_tmp = job->x264opts;
+        
+        job->x264opts = NULL;
+        job->indepth_scan = 1;  
+        /*
+         * Add the pre-scan job
+         */
+        hb_add( fPreviewLibhb, job );
+        job->x264opts = x264opts_tmp;
+    }                  
+    /* Go ahead and perform the actual encoding preview scan */
+    job->indepth_scan = 0;
+    job->pass = 0;
     hb_add( fPreviewLibhb, job );
     
     [fEncodingControlBox setHidden: NO];