using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace MediaBrowser.MediaEncoding.Probing;
///
/// Class MediaFrameInfo.
///
public class MediaFrameInfo
{
///
/// Gets or sets the media type.
///
[JsonPropertyName("media_type")]
public string? MediaType { get; set; }
///
/// Gets or sets the StreamIndex.
///
[JsonPropertyName("stream_index")]
public int? StreamIndex { get; set; }
///
/// Gets or sets the KeyFrame.
///
[JsonPropertyName("key_frame")]
public int? KeyFrame { get; set; }
///
/// Gets or sets the Pts.
///
[JsonPropertyName("pts")]
public long? Pts { get; set; }
///
/// Gets or sets the PtsTime.
///
[JsonPropertyName("pts_time")]
public string? PtsTime { get; set; }
///
/// Gets or sets the BestEffortTimestamp.
///
[JsonPropertyName("best_effort_timestamp")]
public long BestEffortTimestamp { get; set; }
///
/// Gets or sets the BestEffortTimestampTime.
///
[JsonPropertyName("best_effort_timestamp_time")]
public string? BestEffortTimestampTime { get; set; }
///
/// Gets or sets the Duration.
///
[JsonPropertyName("duration")]
public int Duration { get; set; }
///
/// Gets or sets the DurationTime.
///
[JsonPropertyName("duration_time")]
public string? DurationTime { get; set; }
///
/// Gets or sets the PktPos.
///
[JsonPropertyName("pkt_pos")]
public string? PktPos { get; set; }
///
/// Gets or sets the PktSize.
///
[JsonPropertyName("pkt_size")]
public string? PktSize { get; set; }
///
/// Gets or sets the Width.
///
[JsonPropertyName("width")]
public int? Width { get; set; }
///
/// Gets or sets the Height.
///
[JsonPropertyName("height")]
public int? Height { get; set; }
///
/// Gets or sets the CropTop.
///
[JsonPropertyName("crop_top")]
public int? CropTop { get; set; }
///
/// Gets or sets the CropBottom.
///
[JsonPropertyName("crop_bottom")]
public int? CropBottom { get; set; }
///
/// Gets or sets the CropLeft.
///
[JsonPropertyName("crop_left")]
public int? CropLeft { get; set; }
///
/// Gets or sets the CropRight.
///
[JsonPropertyName("crop_right")]
public int? CropRight { get; set; }
///
/// Gets or sets the PixFmt.
///
[JsonPropertyName("pix_fmt")]
public string? PixFmt { get; set; }
///
/// Gets or sets the SampleAspectRatio.
///
[JsonPropertyName("sample_aspect_ratio")]
public string? SampleAspectRatio { get; set; }
///
/// Gets or sets the PictType.
///
[JsonPropertyName("pict_type")]
public string? PictType { get; set; }
///
/// Gets or sets the InterlacedFrame.
///
[JsonPropertyName("interlaced_frame")]
public int? InterlacedFrame { get; set; }
///
/// Gets or sets the TopFieldFirst.
///
[JsonPropertyName("top_field_first")]
public int? TopFieldFirst { get; set; }
///
/// Gets or sets the RepeatPict.
///
[JsonPropertyName("repeat_pict")]
public int? RepeatPict { get; set; }
///
/// Gets or sets the ColorRange.
///
[JsonPropertyName("color_range")]
public string? ColorRange { get; set; }
///
/// Gets or sets the ColorSpace.
///
[JsonPropertyName("color_space")]
public string? ColorSpace { get; set; }
///
/// Gets or sets the ColorPrimaries.
///
[JsonPropertyName("color_primaries")]
public string? ColorPrimaries { get; set; }
///
/// Gets or sets the ColorTransfer.
///
[JsonPropertyName("color_transfer")]
public string? ColorTransfer { get; set; }
///
/// Gets or sets the ChromaLocation.
///
[JsonPropertyName("chroma_location")]
public string? ChromaLocation { get; set; }
///
/// Gets or sets the SideDataList.
///
[JsonPropertyName("side_data_list")]
public IReadOnlyList? SideDataList { get; set; }
}