using MediaBrowser.Model.Entities;
using ProtoBuf;
using System.Collections.Generic;
namespace MediaBrowser.Common.MediaInfo
{
///
/// Class MediaInfoResult
///
[ProtoContract]
public class MediaInfoResult
{
///
/// Gets or sets the streams.
///
/// The streams.
[ProtoMember(1)]
public MediaStreamInfo[] streams { get; set; }
///
/// Gets or sets the format.
///
/// The format.
[ProtoMember(2)]
public MediaFormatInfo format { get; set; }
///
/// Gets or sets the chapters.
///
/// The chapters.
[ProtoMember(3)]
public List Chapters { get; set; }
}
///
/// Represents a stream within the output
///
[ProtoContract]
public class MediaStreamInfo
{
///
/// Gets or sets the index.
///
/// The index.
[ProtoMember(1)]
public int index { get; set; }
///
/// Gets or sets the profile.
///
/// The profile.
[ProtoMember(2)]
public string profile { get; set; }
///
/// Gets or sets the codec_name.
///
/// The codec_name.
[ProtoMember(3)]
public string codec_name { get; set; }
///
/// Gets or sets the codec_long_name.
///
/// The codec_long_name.
[ProtoMember(4)]
public string codec_long_name { get; set; }
///
/// Gets or sets the codec_type.
///
/// The codec_type.
[ProtoMember(5)]
public string codec_type { get; set; }
///
/// Gets or sets the sample_rate.
///
/// The sample_rate.
[ProtoMember(6)]
public string sample_rate { get; set; }
///
/// Gets or sets the channels.
///
/// The channels.
[ProtoMember(7)]
public int channels { get; set; }
///
/// Gets or sets the avg_frame_rate.
///
/// The avg_frame_rate.
[ProtoMember(8)]
public string avg_frame_rate { get; set; }
///
/// Gets or sets the duration.
///
/// The duration.
[ProtoMember(9)]
public string duration { get; set; }
///
/// Gets or sets the bit_rate.
///
/// The bit_rate.
[ProtoMember(10)]
public string bit_rate { get; set; }
///
/// Gets or sets the width.
///
/// The width.
[ProtoMember(11)]
public int width { get; set; }
///
/// Gets or sets the height.
///
/// The height.
[ProtoMember(12)]
public int height { get; set; }
///
/// Gets or sets the display_aspect_ratio.
///
/// The display_aspect_ratio.
[ProtoMember(13)]
public string display_aspect_ratio { get; set; }
///
/// Gets or sets the tags.
///
/// The tags.
[ProtoMember(14)]
public Dictionary tags { get; set; }
///
/// Gets or sets the bits_per_sample.
///
/// The bits_per_sample.
[ProtoMember(17)]
public int bits_per_sample { get; set; }
///
/// Gets or sets the r_frame_rate.
///
/// The r_frame_rate.
[ProtoMember(18)]
public string r_frame_rate { get; set; }
///
/// Gets or sets the has_b_frames.
///
/// The has_b_frames.
[ProtoMember(19)]
public int has_b_frames { get; set; }
///
/// Gets or sets the sample_aspect_ratio.
///
/// The sample_aspect_ratio.
[ProtoMember(20)]
public string sample_aspect_ratio { get; set; }
///
/// Gets or sets the pix_fmt.
///
/// The pix_fmt.
[ProtoMember(21)]
public string pix_fmt { get; set; }
///
/// Gets or sets the level.
///
/// The level.
[ProtoMember(22)]
public int level { get; set; }
///
/// Gets or sets the time_base.
///
/// The time_base.
[ProtoMember(23)]
public string time_base { get; set; }
///
/// Gets or sets the start_time.
///
/// The start_time.
[ProtoMember(24)]
public string start_time { get; set; }
///
/// Gets or sets the codec_time_base.
///
/// The codec_time_base.
[ProtoMember(25)]
public string codec_time_base { get; set; }
///
/// Gets or sets the codec_tag.
///
/// The codec_tag.
[ProtoMember(26)]
public string codec_tag { get; set; }
///
/// Gets or sets the codec_tag_string.
///
/// The codec_tag_string.
[ProtoMember(27)]
public string codec_tag_string { get; set; }
///
/// Gets or sets the sample_fmt.
///
/// The sample_fmt.
[ProtoMember(28)]
public string sample_fmt { get; set; }
///
/// Gets or sets the dmix_mode.
///
/// The dmix_mode.
[ProtoMember(29)]
public string dmix_mode { get; set; }
///
/// Gets or sets the start_pts.
///
/// The start_pts.
[ProtoMember(30)]
public string start_pts { get; set; }
///
/// Gets or sets the is_avc.
///
/// The is_avc.
[ProtoMember(31)]
public string is_avc { get; set; }
///
/// Gets or sets the nal_length_size.
///
/// The nal_length_size.
[ProtoMember(32)]
public string nal_length_size { get; set; }
///
/// Gets or sets the ltrt_cmixlev.
///
/// The ltrt_cmixlev.
[ProtoMember(33)]
public string ltrt_cmixlev { get; set; }
///
/// Gets or sets the ltrt_surmixlev.
///
/// The ltrt_surmixlev.
[ProtoMember(34)]
public string ltrt_surmixlev { get; set; }
///
/// Gets or sets the loro_cmixlev.
///
/// The loro_cmixlev.
[ProtoMember(35)]
public string loro_cmixlev { get; set; }
///
/// Gets or sets the loro_surmixlev.
///
/// The loro_surmixlev.
[ProtoMember(36)]
public string loro_surmixlev { get; set; }
///
/// Gets or sets the disposition.
///
/// The disposition.
[ProtoMember(37)]
public Dictionary disposition { get; set; }
}
///
/// Class MediaFormat
///
[ProtoContract]
public class MediaFormatInfo
{
///
/// Gets or sets the filename.
///
/// The filename.
[ProtoMember(1)]
public string filename { get; set; }
///
/// Gets or sets the nb_streams.
///
/// The nb_streams.
[ProtoMember(2)]
public int nb_streams { get; set; }
///
/// Gets or sets the format_name.
///
/// The format_name.
[ProtoMember(3)]
public string format_name { get; set; }
///
/// Gets or sets the format_long_name.
///
/// The format_long_name.
[ProtoMember(4)]
public string format_long_name { get; set; }
///
/// Gets or sets the start_time.
///
/// The start_time.
[ProtoMember(5)]
public string start_time { get; set; }
///
/// Gets or sets the duration.
///
/// The duration.
[ProtoMember(6)]
public string duration { get; set; }
///
/// Gets or sets the size.
///
/// The size.
[ProtoMember(7)]
public string size { get; set; }
///
/// Gets or sets the bit_rate.
///
/// The bit_rate.
[ProtoMember(8)]
public string bit_rate { get; set; }
///
/// Gets or sets the tags.
///
/// The tags.
[ProtoMember(9)]
public Dictionary tags { get; set; }
}
}