// --------------------------------------------------------------------------------------------------------------------
//
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
//
//
// Defines the hb_title_s type.
//
// Disable Stylecop Warnings for this file
// --------------------------------------------------------------------------------------------------------------------
namespace HandBrake.Interop.HbLib
{
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct hb_title_s
{
/// Anonymous_990d28ea_6cf3_4fbc_8143_4df9513e9550
public hb_title_type_anon type;
public uint reg_desc;
/// char[1024]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
public string dvd;
/// char[1024]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
public string name;
/// int
public int index;
public int playlist;
/// int
public int vts;
/// int
public int ttn;
/// int
public int cell_start;
/// int
public int cell_end;
/// int
public ulong block_start;
/// int
public ulong block_end;
/// int
public ulong block_count;
/// int
public int angle_count;
public IntPtr opaque_priv;
/// int
public int hours;
/// int
public int minutes;
/// int
public int seconds;
/// uint64_t->unsigned int
public ulong duration;
/// double
public double aspect;
/// double
public double container_aspect;
public int has_resolution_change;
/// int
public int width;
/// int
public int height;
/// int
public int pixel_aspect_width;
/// int
public int pixel_aspect_height;
/// int
public int rate;
/// int
public int rate_base;
/// int[4]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I4)]
public int[] crop;
public hb_title_demuxer_anon demuxer;
/// int
public int detected_interlacing;
public int pcr_pid;
/// int
public int video_id;
/// int
public int video_codec;
public uint video_stream_type;
/// int
public int video_codec_param;
/// char*
[MarshalAs(UnmanagedType.LPStr)]
public string video_codec_name;
/// int
public int video_bitrate;
/// char*
[MarshalAs(UnmanagedType.LPStr)]
public string container_name;
/// int
public int data_rate;
/// hb_metadata_t*
public IntPtr metadata;
/// hb_list_t*
public IntPtr list_chapter;
/// hb_list_t*
public IntPtr list_audio;
/// hb_list_t*
public IntPtr list_subtitle;
/// hb_list_t*
public IntPtr list_attachment;
/// hb_job_t*
public IntPtr job;
/// uint32_t->unsigned int
public uint flags;
}
public enum hb_title_type_anon
{
HB_DVD_TYPE,
HB_BD_TYPE,
HB_STREAM_TYPE,
HB_FF_STREAM_TYPE,
}
public enum hb_title_demuxer_anon
{
HB_DVD_DEMUXER = 0,
HB_MPEG_DEMUXER,
HB_NULL_DEMUXER,
}
}