//------------------------------------------------------------------------------ // // 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.Utils; using Newtonsoft.Json; using System.Collections.Generic; /// /// `Stream` represents a particular stream from a media item, such as the video stream, audio stream, or subtitle stream. The stream may either be part of the file represented by the parent `Part` or, especially for subtitles, an external file. The stream contains more detailed information about the specific stream. For example, a video may include the `aspectRatio` at the `Media` level, but detailed information about the video stream like the color space will be included on the `Stream` for the video stream. Note that photos do not have streams (mostly as an optimization).
/// /// /// /// ///
public class Stream { [JsonProperty("default")] public bool? Default { get; set; } [JsonProperty("audioChannelLayout")] public object? AudioChannelLayout { get; set; } [JsonProperty("bitDepth")] public long? BitDepth { get; set; } [JsonProperty("bitrate")] public long? Bitrate { get; set; } /// /// For subtitle streams only. If `true` then the server can attempt to automatically sync the subtitle timestamps with the video. /// [JsonProperty("canAutoSync")] public bool? CanAutoSync { get; set; } [JsonProperty("chromaLocation")] public object? ChromaLocation { get; set; } [JsonProperty("chromaSubsampling")] public object? ChromaSubsampling { get; set; } /// /// The codec of the stream, such as `h264` or `aac` /// [JsonProperty("codec")] public object? Codec { get; set; } [JsonProperty("colorPrimaries")] public object? ColorPrimaries { get; set; } [JsonProperty("colorRange")] public object? ColorRange { get; set; } [JsonProperty("colorSpace")] public object? ColorSpace { get; set; } [JsonProperty("colorTrc")] public object? ColorTrc { get; set; } /// /// A friendly name for the stream, often comprised of the language and codec information /// [JsonProperty("displayTitle")] public object? DisplayTitle { get; set; } [JsonProperty("frameRate")] public double? FrameRate { get; set; } [JsonProperty("hasScalingMatrix")] public object? HasScalingMatrix { get; set; } [JsonProperty("height")] public long? Height { get; set; } [JsonProperty("id")] public long? Id { get; set; } /// /// If the stream is part of the `Part` and not an external resource, the index of the stream within that part /// [JsonProperty("index")] public long? Index { get; set; } /// /// If the stream is independently streamable, the key from which it can be streamed /// [JsonProperty("key")] public object? Key { get; set; } [JsonProperty("language")] public object? Language { get; set; } /// /// The three character language code for the stream contents /// [JsonProperty("languageCode")] public object? LanguageCode { get; set; } [JsonProperty("level")] public long? Level { get; set; } [JsonProperty("profile")] public object? Profile { get; set; } [JsonProperty("refFrames")] public long? RefFrames { get; set; } [JsonProperty("samplingRate")] public long? SamplingRate { get; set; } [JsonProperty("selected")] public bool? Selected { get; set; } [JsonProperty("streamIdentifier")] public long? StreamIdentifier { get; set; } /// /// A number indicating the type of the stream. `1` for video, `2` for audio, `3` for subtitles, `4` for lyrics /// [JsonProperty("streamType")] public long? StreamType { get; set; } [JsonProperty("width")] public long? Width { get; set; } [JsonProperty("additionalProperties")] public Dictionary? AdditionalProperties { get; set; } } }