using System.Collections.Generic; using System.Text.Json.Serialization; using MediaBrowser.Common.Json.Converters; namespace MediaBrowser.MediaEncoding.Probing { /// /// Represents a stream within the output. /// public class MediaStreamInfo { /// /// Gets or sets the index. /// /// The index. [JsonPropertyName("index")] public int Index { get; set; } /// /// Gets or sets the profile. /// /// The profile. [JsonPropertyName("profile")] public string Profile { get; set; } /// /// Gets or sets the codec_name. /// /// The codec_name. [JsonPropertyName("codec_name")] public string CodecName { get; set; } /// /// Gets or sets the codec_long_name. /// /// The codec_long_name. [JsonPropertyName("codec_long_name")] public string CodecLongName { get; set; } /// /// Gets or sets the codec_type. /// /// The codec_type. [JsonPropertyName("codec_type")] public string CodecType { get; set; } /// /// Gets or sets the sample_rate. /// /// The sample_rate. [JsonPropertyName("sample_rate")] public string SampleRate { get; set; } /// /// Gets or sets the channels. /// /// The channels. [JsonPropertyName("channels")] public int Channels { get; set; } /// /// Gets or sets the channel_layout. /// /// The channel_layout. [JsonPropertyName("channel_layout")] public string ChannelLayout { get; set; } /// /// Gets or sets the avg_frame_rate. /// /// The avg_frame_rate. [JsonPropertyName("avg_frame_rate")] public string AverageFrameRate { get; set; } /// /// Gets or sets the duration. /// /// The duration. [JsonPropertyName("duration")] public string Duration { get; set; } /// /// Gets or sets the bit_rate. /// /// The bit_rate. [JsonPropertyName("bit_rate")] public string BitRate { get; set; } /// /// Gets or sets the width. /// /// The width. [JsonPropertyName("width")] public int Width { get; set; } /// /// Gets or sets the refs. /// /// The refs. [JsonPropertyName("refs")] public int Refs { get; set; } /// /// Gets or sets the height. /// /// The height. [JsonPropertyName("height")] public int Height { get; set; } /// /// Gets or sets the display_aspect_ratio. /// /// The display_aspect_ratio. [JsonPropertyName("display_aspect_ratio")] public string DisplayAspectRatio { get; set; } /// /// Gets or sets the tags. /// /// The tags. [JsonPropertyName("tags")] public IReadOnlyDictionary Tags { get; set; } /// /// Gets or sets the bits_per_sample. /// /// The bits_per_sample. [JsonPropertyName("bits_per_sample")] public int BitsPerSample { get; set; } /// /// Gets or sets the bits_per_raw_sample. /// /// The bits_per_raw_sample. [JsonPropertyName("bits_per_raw_sample")] [JsonConverter(typeof(JsonInt32Converter))] public int BitsPerRawSample { get; set; } /// /// Gets or sets the r_frame_rate. /// /// The r_frame_rate. [JsonPropertyName("r_frame_rate")] public string RFrameRate { get; set; } /// /// Gets or sets the has_b_frames. /// /// The has_b_frames. [JsonPropertyName("has_b_frames")] public int HasBFrames { get; set; } /// /// Gets or sets the sample_aspect_ratio. /// /// The sample_aspect_ratio. [JsonPropertyName("sample_aspect_ratio")] public string SampleAspectRatio { get; set; } /// /// Gets or sets the pix_fmt. /// /// The pix_fmt. [JsonPropertyName("pix_fmt")] public string PixelFormat { get; set; } /// /// Gets or sets the level. /// /// The level. [JsonPropertyName("level")] public int Level { get; set; } /// /// Gets or sets the time_base. /// /// The time_base. [JsonPropertyName("time_base")] public string TimeBase { get; set; } /// /// Gets or sets the start_time. /// /// The start_time. [JsonPropertyName("start_time")] public string StartTime { get; set; } /// /// Gets or sets the codec_time_base. /// /// The codec_time_base. [JsonPropertyName("codec_time_base")] public string CodecTimeBase { get; set; } /// /// Gets or sets the codec_tag. /// /// The codec_tag. [JsonPropertyName("codec_tag")] public string CodecTag { get; set; } /// /// Gets or sets the codec_tag_string. /// /// The codec_tag_string. [JsonPropertyName("codec_tag_string")] public string CodecTagString { get; set; } /// /// Gets or sets the sample_fmt. /// /// The sample_fmt. [JsonPropertyName("sample_fmt")] public string SampleFmt { get; set; } /// /// Gets or sets the dmix_mode. /// /// The dmix_mode. [JsonPropertyName("dmix_mode")] public string DmixMode { get; set; } /// /// Gets or sets the start_pts. /// /// The start_pts. [JsonPropertyName("start_pts")] public int StartPts { get; set; } /// /// Gets or sets the is_avc. /// /// The is_avc. [JsonPropertyName("is_avc")] public string IsAvc { get; set; } /// /// Gets or sets the nal_length_size. /// /// The nal_length_size. [JsonPropertyName("nal_length_size")] public string NalLengthSize { get; set; } /// /// Gets or sets the ltrt_cmixlev. /// /// The ltrt_cmixlev. [JsonPropertyName("ltrt_cmixlev")] public string LtrtCmixlev { get; set; } /// /// Gets or sets the ltrt_surmixlev. /// /// The ltrt_surmixlev. [JsonPropertyName("ltrt_surmixlev")] public string LtrtSurmixlev { get; set; } /// /// Gets or sets the loro_cmixlev. /// /// The loro_cmixlev. [JsonPropertyName("loro_cmixlev")] public string LoroCmixlev { get; set; } /// /// Gets or sets the loro_surmixlev. /// /// The loro_surmixlev. [JsonPropertyName("loro_surmixlev")] public string LoroSurmixlev { get; set; } [JsonPropertyName("field_order")] public string FieldOrder { get; set; } /// /// Gets or sets the disposition. /// /// The disposition. [JsonPropertyName("disposition")] public IReadOnlyDictionary Disposition { get; set; } } }