//------------------------------------------------------------------------------
//
// 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;
///
/// `MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
///
///
/// Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
/// The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
///
///
///
public class MediaContainerWithDecisionMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
///
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.
///
///
///
///
///
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
///
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.
///
///
///
///
///
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
///
/// The maximum available bitrate when the decision was rendered.
///
[JsonProperty("availableBandwidth")]
public long? AvailableBandwidth { get; set; }
[JsonProperty("directPlayDecisionCode")]
public long? DirectPlayDecisionCode { get; set; }
[JsonProperty("directPlayDecisionText")]
public string? DirectPlayDecisionText { get; set; }
///
/// The overall decision. 1xxx are playback can succeed, 2xxx are a general error (such as insufficient bandwidth), 3xxx are errors in direct play, and 4xxx are errors in transcodes. Same codes are used in all.
///
[JsonProperty("generalDecisionCode")]
public long? GeneralDecisionCode { get; set; }
[JsonProperty("generalDecisionText")]
public string? GeneralDecisionText { get; set; }
///
/// The code indicating the status of evaluation of playback when client indicates `hasMDE=1`
///
[JsonProperty("mdeDecisionCode")]
public long? MdeDecisionCode { get; set; }
///
/// Descriptive text for the above code
///
[JsonProperty("mdeDecisionText")]
public string? MdeDecisionText { get; set; }
[JsonProperty("Metadata")]
public List? Metadata { get; set; }
[JsonProperty("transcodeDecisionCode")]
public long? TranscodeDecisionCode { get; set; }
[JsonProperty("transcodeDecisionText")]
public string? TranscodeDecisionText { get; set; }
}
}