OSDN Git Service

Patch from huevos_rancheros to restore 2-pass functionality, which broke when the...
authorjbrjake <jbrjake@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 27 Jul 2007 22:46:37 +0000 (22:46 +0000)
committerjbrjake <jbrjake@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 27 Jul 2007 22:46:37 +0000 (22:46 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@758 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/hb.c
macosx/Controller.mm

index f3ec1bb..482b4d7 100644 (file)
@@ -718,6 +718,19 @@ void hb_add( hb_handle_t * h, hb_job_t * job )
     job_copy->h     = h;
     job_copy->pause = h->pause_lock;
 
+    /* Copy the job filter list */
+    if( job->filters )
+    {
+        int i;
+        int filter_count = hb_list_count( job->filters );
+        job_copy->filters = hb_list_init();        
+        for( i = 0; i < filter_count; i++ )
+        {
+            hb_filter_object_t * filter = hb_list_item( job->filters, i );
+            hb_list_add( job_copy->filters, filter );
+        }        
+    }
+    
     /* Add the job to the list */
     hb_list_add( h->jobs, job_copy );
     h->job_count = hb_count(h);
@@ -855,6 +868,10 @@ void hb_close( hb_handle_t ** _h )
     while( ( title = hb_list_item( h->list_title, 0 ) ) )
     {
         hb_list_rem( h->list_title, title );
+        if( title->job && title->job->filters )
+        {
+            hb_list_close( &title->job->filters );
+        }
         free( title->job );
         hb_title_close( &title );
     }
index 189b6ec..a2f7513 100644 (file)
@@ -1358,7 +1358,11 @@ list = hb_get_titles( fHandle );
                      indexOfSelectedItem]].rate;
     job->abitrate = [[fAudBitratePopUp selectedItem] tag];
     
-    /* TODO: Filter settings */ 
+    /* TODO: Filter settings */
+    if( job->filters )
+    {
+        hb_list_close( &job->filters );
+    }
     job->filters = hb_list_init();
 #if 1
     /* Run old deinterlacer if deinterlacing specified */