//------------------------------------------------------------------------------
//
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
//
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Components
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
///
/// `Part` represents a particular file or "part" of a media item. The part is the playable unit of the media hierarchy. Suppose that a movie library contains a movie that is broken up into files, reminiscent of a movie split across two BDs. The metadata item represents information about the movie, the media item represents this instance of the movie at this resolution and quality, and the part items represent the two playable files. If another media were added which contained the joining of these two parts transcoded down to a lower resolution, then this metadata would contain 2 medias, one with 2 parts and one with 1 part.
///
///
///
///
///
public class MediaContainerWithDecisionPart
{
///
/// Indicates if the part is accessible.
///
[JsonProperty("accessible")]
public bool? Accessible { get; set; }
[JsonProperty("audioProfile")]
public string? AudioProfile { get; set; }
///
/// The container of the media file, such as `mp4` or `mkv`
///
[JsonProperty("container")]
public string? Container { get; set; }
///
/// The duration of the media item, in milliseconds
///
[JsonProperty("duration")]
public int? Duration { get; set; }
///
/// Indicates if the part exists.
///
[JsonProperty("exists")]
public bool? Exists { get; set; }
///
/// The local file path at which the part is stored on the server
///
[JsonProperty("file")]
public string? File { get; set; }
[JsonProperty("has64bitOffsets")]
public bool? Has64bitOffsets { get; set; }
[JsonProperty("id")]
public long Id { get; set; } = default!;
[JsonProperty("indexes")]
public string? Indexes { get; set; }
///
/// The key from which the media can be streamed
///
[JsonProperty("key")]
public string Key { get; set; } = default!;
[JsonProperty("optimizedForStreaming")]
public bool? OptimizedForStreaming { get; set; }
///
/// The size of the media, in bytes
///
[JsonProperty("size")]
public long? Size { get; set; }
[JsonProperty("Stream")]
public List? Stream { get; set; }
[JsonProperty("videoProfile")]
public string? VideoProfile { get; set; }
[JsonProperty("decision")]
public Decision? Decision { get; set; }
[JsonProperty("selected")]
public bool? Selected { get; set; }
[JsonProperty("additionalProperties")]
public Dictionary? AdditionalProperties { get; set; }
}
}