# coding: utf-8

"""
    Jellyfin API

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 10.11.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class TranscodeReason(str, Enum):
    """
    TranscodeReason
    """

    """
    allowed enum values
    """
    CONTAINERNOTSUPPORTED = 'ContainerNotSupported'
    VIDEOCODECNOTSUPPORTED = 'VideoCodecNotSupported'
    AUDIOCODECNOTSUPPORTED = 'AudioCodecNotSupported'
    SUBTITLECODECNOTSUPPORTED = 'SubtitleCodecNotSupported'
    AUDIOISEXTERNAL = 'AudioIsExternal'
    SECONDARYAUDIONOTSUPPORTED = 'SecondaryAudioNotSupported'
    VIDEOPROFILENOTSUPPORTED = 'VideoProfileNotSupported'
    VIDEOLEVELNOTSUPPORTED = 'VideoLevelNotSupported'
    VIDEORESOLUTIONNOTSUPPORTED = 'VideoResolutionNotSupported'
    VIDEOBITDEPTHNOTSUPPORTED = 'VideoBitDepthNotSupported'
    VIDEOFRAMERATENOTSUPPORTED = 'VideoFramerateNotSupported'
    REFFRAMESNOTSUPPORTED = 'RefFramesNotSupported'
    ANAMORPHICVIDEONOTSUPPORTED = 'AnamorphicVideoNotSupported'
    INTERLACEDVIDEONOTSUPPORTED = 'InterlacedVideoNotSupported'
    AUDIOCHANNELSNOTSUPPORTED = 'AudioChannelsNotSupported'
    AUDIOPROFILENOTSUPPORTED = 'AudioProfileNotSupported'
    AUDIOSAMPLERATENOTSUPPORTED = 'AudioSampleRateNotSupported'
    AUDIOBITDEPTHNOTSUPPORTED = 'AudioBitDepthNotSupported'
    CONTAINERBITRATEEXCEEDSLIMIT = 'ContainerBitrateExceedsLimit'
    VIDEOBITRATENOTSUPPORTED = 'VideoBitrateNotSupported'
    AUDIOBITRATENOTSUPPORTED = 'AudioBitrateNotSupported'
    UNKNOWNVIDEOSTREAMINFO = 'UnknownVideoStreamInfo'
    UNKNOWNAUDIOSTREAMINFO = 'UnknownAudioStreamInfo'
    DIRECTPLAYERROR = 'DirectPlayError'
    VIDEORANGETYPENOTSUPPORTED = 'VideoRangeTypeNotSupported'
    VIDEOCODECTAGNOTSUPPORTED = 'VideoCodecTagNotSupported'
    STREAMCOUNTEXCEEDSLIMIT = 'StreamCountExceedsLimit'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of TranscodeReason from a JSON string"""
        return cls(json.loads(json_str))


