OSDN Git Service

LinGui: disable DTS passthru option for MP4 file output
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 18 Apr 2009 18:44:07 +0000 (18:44 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 18 Apr 2009 18:44:07 +0000 (18:44 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@2340 b64f7644-9d1e-0410-96f1-a4d463321fa5

gtk/src/hb-backend.c
libhb/work.c

index 94e5c21..3b69d97 100644 (file)
@@ -1092,19 +1092,15 @@ ghb_grey_combo_options(GtkBuilder *builder)
        grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_LAME, FALSE);
        grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_VORBIS, FALSE);
 
-       gboolean allow_ac3 = TRUE;
-       allow_ac3 = (container != HB_MUX_OGM);
+       gboolean allow_dca = TRUE;
+       allow_dca = (container != HB_MUX_MP4);
 
-       if (allow_ac3)
-       {
-               grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_AC3, FALSE);
+       grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_AC3, FALSE);
+       if (allow_dca)
                grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_DCA, FALSE);
-       }
        else
-       {
-               grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_AC3, TRUE);
                grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_DCA, TRUE);
-       }
+
        if (audio && audio->in.codec != HB_ACODEC_AC3)
        {
                grey_combo_box_item(builder, "AudioEncoder", HB_ACODEC_AC3, TRUE);
@@ -3193,6 +3189,11 @@ ghb_validate_audio(signal_user_data_t *ud)
                                a_unsup = "Vorbis";
                                codec = HB_ACODEC_FAAC;
                        }
+                       if (codec == HB_ACODEC_DCA)
+                       {
+                               a_unsup = "DTS";
+                               codec = HB_ACODEC_FAAC;
+                       }
                }
                else if (mux == HB_MUX_AVI)
                {
index 42613c3..4cd9ffe 100644 (file)
@@ -720,7 +720,7 @@ static void do_job( hb_job_t * job, int cpu_count )
         audio->priv.fifo_in   = hb_fifo_init( 32 );
         audio->priv.fifo_raw  = hb_fifo_init( FIFO_CPU_MULT * cpu_count );
         audio->priv.fifo_sync = hb_fifo_init( 32 );
-        audio->priv.fifo_out  = hb_fifo_init( FIFO_CPU_MULT * cpu_count );
+        audio->priv.fifo_out  = hb_fifo_init( 8 * FIFO_CPU_MULT * cpu_count );
 
 
         /*