using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace MediaBrowser.MediaEncoding.Probing
{
    /// 
    /// Class MediaFormat.
    /// 
    public class MediaFormatInfo
    {
        /// 
        /// Gets or sets the filename.
        /// 
        /// The filename.
        [JsonPropertyName("filename")]
        public string FileName { get; set; }
        /// 
        /// Gets or sets the nb_streams.
        /// 
        /// The nb_streams.
        [JsonPropertyName("nb_streams")]
        public int NbStreams { get; set; }
        /// 
        /// Gets or sets the format_name.
        /// 
        /// The format_name.
        [JsonPropertyName("format_name")]
        public string FormatName { get; set; }
        /// 
        /// Gets or sets the format_long_name.
        /// 
        /// The format_long_name.
        [JsonPropertyName("format_long_name")]
        public string FormatLongName { get; set; }
        /// 
        /// Gets or sets the start_time.
        /// 
        /// The start_time.
        [JsonPropertyName("start_time")]
        public string StartTime { get; set; }
        /// 
        /// Gets or sets the duration.
        /// 
        /// The duration.
        [JsonPropertyName("duration")]
        public string Duration { get; set; }
        /// 
        /// Gets or sets the size.
        /// 
        /// The size.
        [JsonPropertyName("size")]
        public string Size { get; set; }
        /// 
        /// Gets or sets the bit_rate.
        /// 
        /// The bit_rate.
        [JsonPropertyName("bit_rate")]
        public string BitRate { get; set; }
        /// 
        /// Gets or sets the probe_score.
        /// 
        /// The probe_score.
        [JsonPropertyName("probe_score")]
        public int ProbeScore { get; set; }
        /// 
        /// Gets or sets the tags.
        /// 
        /// The tags.
        [JsonPropertyName("tags")]
        public IReadOnlyDictionary Tags { get; set; }
    }
}