diff options
author | randomengy <[email protected]> | 2011-08-13 01:53:01 +0000 |
---|---|---|
committer | randomengy <[email protected]> | 2011-08-13 01:53:01 +0000 |
commit | 566fb1b3eb040d268f5d546778b665271194aabb (patch) | |
tree | 0b1da5d89ce07af29ab96f98ab7cf67222284809 | |
parent | 5fe02b451576dbf5c914126aae1b982f6d07c4f8 (diff) |
Interop: Struct changes to keep up with libhb and passthrough updates. Also fixing a problem where the audio passthrough mask wasn't applied when creating the passthrough codec value.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4171 b64f7644-9d1e-0410-96f1-a4d463321fa5
10 files changed, 45 insertions, 17 deletions
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/Converters.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/Converters.cs index ee49c5802..73ca4f290 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/Converters.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/Converters.cs @@ -117,6 +117,14 @@ namespace HandBrake.Interop return AudioCodec.Dts;
case NativeConstants.HB_ACODEC_DCA_HD:
return AudioCodec.DtsHD;
+ case NativeConstants.HB_ACODEC_LAME:
+ case NativeConstants.HB_ACODEC_MP3:
+ return AudioCodec.Mp3;
+ case NativeConstants.HB_ACODEC_FAAC:
+ case NativeConstants.HB_ACODEC_FFAAC:
+ case NativeConstants.HB_ACODEC_CA_AAC:
+ case NativeConstants.HB_ACODEC_CA_HAAC:
+ return AudioCodec.Aac;
default:
return AudioCodec.Other;
}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HandBrakeInstance.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HandBrakeInstance.cs index 28afc8462..2ea3a2ca2 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/HandBrakeInstance.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HandBrakeInstance.cs @@ -1329,10 +1329,12 @@ namespace HandBrake.Interop if (encoding.Encoder == AudioEncoder.Passthrough)
{
// If we've been given a general "Passthrough" codec, see if it's valid for this input track.
- if ((baseStruct.config.input.codec & NativeConstants.HB_ACODEC_PASS_MASK) > 0)
+ uint audioCodec = baseStruct.config.input.codec & NativeConstants.HB_ACODEC_PASS_MASK;
+ if (audioCodec > 0)
{
// We can do passthrough for this input.
- nativeAudio.config.output.codec = nativeAudio.config.input.codec | NativeConstants.HB_ACODEC_PASS_FLAG;
+ //nativeAudio.config.output.codec = NativeConstants.HB_ACODEC_PASS_MASK | NativeConstants.HB_ACODEC_PASS_FLAG;
+ nativeAudio.config.output.codec = audioCodec | NativeConstants.HB_ACODEC_PASS_FLAG;
}
else
{
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs index df79262b3..8698c6574 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs @@ -24,10 +24,12 @@ namespace HandBrake.Interop.HbLib public const uint HB_ACODEC_FFAAC = 0x00010000;
public const uint HB_ACODEC_FFMPEG = 0x00020000;
public const uint HB_ACODEC_DCA_HD = 0x00040000;
- public const uint HB_ACODEC_FF_MASK = 0x00060000;
- public const uint HB_ACODEC_FF_I_FLAG = 0x80000000;
+ public const uint HB_ACODEC_MP3 = 0x00080000;
+ public const uint HB_ACODEC_FF_MASK = 0x000f0000;
public const uint HB_ACODEC_PASS_FLAG = 0x40000000;
- public const uint HB_ACODEC_PASS_MASK = (HB_ACODEC_DCA_HD | HB_ACODEC_AC3 | HB_ACODEC_DCA);
+ public const uint HB_ACODEC_PASS_MASK = (HB_ACODEC_MP3 | HB_ACODEC_FFAAC | HB_ACODEC_DCA_HD | HB_ACODEC_AC3 | HB_ACODEC_DCA);
+ public const uint HB_ACODEC_MP3_PASS = (HB_ACODEC_MP3 | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_AAC_PASS = (HB_ACODEC_FFAAC | HB_ACODEC_PASS_FLAG);
public const uint HB_ACODEC_AC3_PASS = (HB_ACODEC_AC3 | HB_ACODEC_PASS_FLAG);
public const uint HB_ACODEC_DCA_PASS = (HB_ACODEC_DCA | HB_ACODEC_PASS_FLAG);
public const uint HB_ACODEC_DCA_HD_PASS = (HB_ACODEC_DCA_HD | HB_ACODEC_PASS_FLAG);
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs index 7938712c2..740f1eacf 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs @@ -54,6 +54,8 @@ namespace HandBrake.Interop.HbLib /// int
public int samplerate;
+ public int samples_per_frame;
+
/// int
public int bitrate;
@@ -99,6 +101,8 @@ namespace HandBrake.Interop.HbLib /// int
public int samplerate;
+ public int samples_per_frame;
+
/// int
public int bitrate;
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs index d9d10dd2f..ca2e2fe98 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs @@ -95,6 +95,12 @@ namespace HandBrake.Interop.HbLib /// int
public int areBframes;
+ public int color_matrix_code;
+
+ public int color_prim;
+
+ public int color_transfer;
+
/// int
public int color_matrix;
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs index b10dbf6ac..756d40ad9 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs @@ -10,10 +10,10 @@ namespace HandBrake.Interop.HbLib
{
- using System;
- using System.Runtime.InteropServices;
+ using System;
+ using System.Runtime.InteropServices;
- [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct hb_title_s
{
/// Anonymous_990d28ea_6cf3_4fbc_8143_4df9513e9550
@@ -56,6 +56,8 @@ namespace HandBrake.Interop.HbLib /// int
public int angle_count;
+ public IntPtr opaque_priv;
+
/// int
public int hours;
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/MarshalingConstants.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/MarshalingConstants.cs index eec8a04fc..2818844de 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/MarshalingConstants.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/MarshalingConstants.cs @@ -12,11 +12,11 @@ namespace HandBrake.Interop public static class MarshalingConstants
{
#if X64
- public const int JobPaddingBytes = 24696;
- public const int AudioPaddingBytes = 24640;
+ public const int JobPaddingBytes = 24688;
+ public const int AudioPaddingBytes = 24632;
#else
- public const int JobPaddingBytes = 24644;
- public const int AudioPaddingBytes = 24608;
+ public const int JobPaddingBytes = 24640;
+ public const int AudioPaddingBytes = 24604;
#endif
}
}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/Model/Encoding/AudioEncoder.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/Model/Encoding/AudioEncoder.cs index 591037ad3..2069e0b53 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/Model/Encoding/AudioEncoder.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/Model/Encoding/AudioEncoder.cs @@ -9,9 +9,9 @@ namespace HandBrake.Interop.Model.Encoding
{
- using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations;
- public enum AudioEncoder
+ public enum AudioEncoder
{
[Display(Name = "AAC (faac)")]
Faac = 0,
@@ -22,7 +22,7 @@ namespace HandBrake.Interop.Model.Encoding [Display(Name = "AC3 (ffmpeg)")]
Ac3,
- [Display(Name = "Passthrough (AC3/DTS)")]
+ [Display(Name = "Passthrough")]
Passthrough,
[Display(Name = "Passthrough (AC3)")]
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/Properties/AssemblyInfo.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/Properties/AssemblyInfo.cs index eadb6162d..b2bbcd55c 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/Properties/AssemblyInfo.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.19.0.0")]
-[assembly: AssemblyFileVersion("1.19.0.0")]
+[assembly: AssemblyVersion("1.20.0.0")]
+[assembly: AssemblyFileVersion("1.20.0.0")]
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/SourceData/AudioCodec.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/SourceData/AudioCodec.cs index b9cb8ed2e..62bfecf79 100644 --- a/win/CS/HandBrake.Interop/HandBrakeInterop/SourceData/AudioCodec.cs +++ b/win/CS/HandBrake.Interop/HandBrakeInterop/SourceData/AudioCodec.cs @@ -18,6 +18,10 @@ namespace HandBrake.Interop.SourceData DtsHD,
+ Mp3,
+
+ Aac,
+
Other
}
}
|