"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _CodeType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _CodeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CodeType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NOCODE: _CodeType.ValueType  # 0
    """"""
    CODE264: _CodeType.ValueType  # 1
    """H264"""
    CODE265: _CodeType.ValueType  # 2
    """H265"""
    CODEAV1: _CodeType.ValueType  # 3
    """AV1"""

class CodeType(_CodeType, metaclass=_CodeTypeEnumTypeWrapper):
    """视频编码"""

NOCODE: CodeType.ValueType  # 0
""""""
CODE264: CodeType.ValueType  # 1
"""H264"""
CODE265: CodeType.ValueType  # 2
"""H265"""
CODEAV1: CodeType.ValueType  # 3
"""AV1"""
global___CodeType = CodeType

class _ConfType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ConfTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ConfType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NoType: _ConfType.ValueType  # 0
    FLIPCONF: _ConfType.ValueType  # 1
    CASTCONF: _ConfType.ValueType  # 2
    FEEDBACK: _ConfType.ValueType  # 3
    SUBTITLE: _ConfType.ValueType  # 4
    PLAYBACKRATE: _ConfType.ValueType  # 5
    TIMEUP: _ConfType.ValueType  # 6
    PLAYBACKMODE: _ConfType.ValueType  # 7
    SCALEMODE: _ConfType.ValueType  # 8
    BACKGROUNDPLAY: _ConfType.ValueType  # 9
    LIKE: _ConfType.ValueType  # 10
    DISLIKE: _ConfType.ValueType  # 11
    COIN: _ConfType.ValueType  # 12
    ELEC: _ConfType.ValueType  # 13
    SHARE: _ConfType.ValueType  # 14
    SCREENSHOT: _ConfType.ValueType  # 15
    LOCKSCREEN: _ConfType.ValueType  # 16
    RECOMMEND: _ConfType.ValueType  # 17
    PLAYBACKSPEED: _ConfType.ValueType  # 18
    DEFINITION: _ConfType.ValueType  # 19
    SELECTIONS: _ConfType.ValueType  # 20
    NEXT: _ConfType.ValueType  # 21
    EDITDM: _ConfType.ValueType  # 22
    SMALLWINDOW: _ConfType.ValueType  # 23
    SHAKE: _ConfType.ValueType  # 24
    OUTERDM: _ConfType.ValueType  # 25
    INNERDM: _ConfType.ValueType  # 26
    PANORAMA: _ConfType.ValueType  # 27
    DOLBY: _ConfType.ValueType  # 28
    COLORFILTER: _ConfType.ValueType  # 29
    LOSSLESS: _ConfType.ValueType  # 30
    FREYAENTER: _ConfType.ValueType  # 31
    FREYAFULLENTER: _ConfType.ValueType  # 32
    SKIPOPED: _ConfType.ValueType  # 33
    RECORDSCREEN: _ConfType.ValueType  # 34
    DUBBING: _ConfType.ValueType  # 35
    LISTEN: _ConfType.ValueType  # 36

class ConfType(_ConfType, metaclass=_ConfTypeEnumTypeWrapper):
    """功能类型"""

NoType: ConfType.ValueType  # 0
FLIPCONF: ConfType.ValueType  # 1
CASTCONF: ConfType.ValueType  # 2
FEEDBACK: ConfType.ValueType  # 3
SUBTITLE: ConfType.ValueType  # 4
PLAYBACKRATE: ConfType.ValueType  # 5
TIMEUP: ConfType.ValueType  # 6
PLAYBACKMODE: ConfType.ValueType  # 7
SCALEMODE: ConfType.ValueType  # 8
BACKGROUNDPLAY: ConfType.ValueType  # 9
LIKE: ConfType.ValueType  # 10
DISLIKE: ConfType.ValueType  # 11
COIN: ConfType.ValueType  # 12
ELEC: ConfType.ValueType  # 13
SHARE: ConfType.ValueType  # 14
SCREENSHOT: ConfType.ValueType  # 15
LOCKSCREEN: ConfType.ValueType  # 16
RECOMMEND: ConfType.ValueType  # 17
PLAYBACKSPEED: ConfType.ValueType  # 18
DEFINITION: ConfType.ValueType  # 19
SELECTIONS: ConfType.ValueType  # 20
NEXT: ConfType.ValueType  # 21
EDITDM: ConfType.ValueType  # 22
SMALLWINDOW: ConfType.ValueType  # 23
SHAKE: ConfType.ValueType  # 24
OUTERDM: ConfType.ValueType  # 25
INNERDM: ConfType.ValueType  # 26
PANORAMA: ConfType.ValueType  # 27
DOLBY: ConfType.ValueType  # 28
COLORFILTER: ConfType.ValueType  # 29
LOSSLESS: ConfType.ValueType  # 30
FREYAENTER: ConfType.ValueType  # 31
FREYAFULLENTER: ConfType.ValueType  # 32
SKIPOPED: ConfType.ValueType  # 33
RECORDSCREEN: ConfType.ValueType  # 34
DUBBING: ConfType.ValueType  # 35
LISTEN: ConfType.ValueType  # 36
global___ConfType = ConfType

class _DrmTechType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _DrmTechTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DrmTechType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_DRM: _DrmTechType.ValueType  # 0
    """"""
    FAIR_PLAY: _DrmTechType.ValueType  # 1
    """"""
    WIDE_VINE: _DrmTechType.ValueType  # 2
    """"""
    BILI_DRM: _DrmTechType.ValueType  # 3
    """哔哩哔哩自研DRM"""

class DrmTechType(_DrmTechType, metaclass=_DrmTechTypeEnumTypeWrapper):
    """DRM类型"""

UNKNOWN_DRM: DrmTechType.ValueType  # 0
""""""
FAIR_PLAY: DrmTechType.ValueType  # 1
""""""
WIDE_VINE: DrmTechType.ValueType  # 2
""""""
BILI_DRM: DrmTechType.ValueType  # 3
"""哔哩哔哩自研DRM"""
global___DrmTechType = DrmTechType

class _PlayErr:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PlayErrEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PlayErr.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NoErr: _PlayErr.ValueType  # 0
    """"""
    WithMultiDeviceLoginErr: _PlayErr.ValueType  # 1
    """管控类型的错误码"""

class PlayErr(_PlayErr, metaclass=_PlayErrEnumTypeWrapper):
    """错误码"""

NoErr: PlayErr.ValueType  # 0
""""""
WithMultiDeviceLoginErr: PlayErr.ValueType  # 1
"""管控类型的错误码"""
global___PlayErr = PlayErr

class _UnsupportScene:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _UnsupportSceneEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_UnsupportScene.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_SCENE: _UnsupportScene.ValueType  # 0
    """"""
    PREMIERE: _UnsupportScene.ValueType  # 1
    """"""

class UnsupportScene(_UnsupportScene, metaclass=_UnsupportSceneEnumTypeWrapper):
    """"""

UNKNOWN_SCENE: UnsupportScene.ValueType  # 0
""""""
PREMIERE: UnsupportScene.ValueType  # 1
""""""
global___UnsupportScene = UnsupportScene

class _VideoType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _VideoTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN: _VideoType.ValueType  # 0
    UGC: _VideoType.ValueType  # 1
    """用户生成内容"""
    PGC: _VideoType.ValueType  # 2
    """专业生产内容"""

class VideoType(_VideoType, metaclass=_VideoTypeEnumTypeWrapper):
    """视频类型"""

UNKNOWN: VideoType.ValueType  # 0
UGC: VideoType.ValueType  # 1
"""用户生成内容"""
PGC: VideoType.ValueType  # 2
"""专业生产内容"""
global___VideoType = VideoType

@typing_extensions.final
class ArcConf(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    IS_SUPPORT_FIELD_NUMBER: builtins.int
    DISABLE_FIELD_NUMBER: builtins.int
    EXTRA_CONNENT_FIELD_NUMBER: builtins.int
    UNSUPPORT_SCENE_FIELD_NUMBER: builtins.int
    is_support: builtins.bool
    disable: builtins.bool
    @property
    def extra_connent(self) -> global___ExtraContent: ...
    @property
    def unsupport_scene(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        is_support: builtins.bool = ...,
        disable: builtins.bool = ...,
        extra_connent: global___ExtraContent | None = ...,
        unsupport_scene: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["extra_connent", b"extra_connent"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["disable", b"disable", "extra_connent", b"extra_connent", "is_support", b"is_support", "unsupport_scene", b"unsupport_scene"]) -> None: ...

global___ArcConf = ArcConf

@typing_extensions.final
class ConfValue(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SWITCH_VAL_FIELD_NUMBER: builtins.int
    SELECTED_VAL_FIELD_NUMBER: builtins.int
    switch_val: builtins.int
    """dash流"""
    selected_val: builtins.int
    """分段流"""
    def __init__(
        self,
        *,
        switch_val: builtins.int = ...,
        selected_val: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["selected_val", b"selected_val", "switch_val", b"switch_val", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["selected_val", b"selected_val", "switch_val", b"switch_val", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["switch_val", "selected_val"] | None: ...

global___ConfValue = ConfValue

@typing_extensions.final
class DeviceConf(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONF_VALUE_FIELD_NUMBER: builtins.int
    @property
    def conf_value(self) -> global___ConfValue: ...
    def __init__(
        self,
        *,
        conf_value: global___ConfValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["conf_value", b"conf_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["conf_value", b"conf_value"]) -> None: ...

global___DeviceConf = DeviceConf

@typing_extensions.final
class ExtraContent(google.protobuf.message.Message):
    """? 错误码补充信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DISABLE_REASON_FIELD_NUMBER: builtins.int
    DISABLE_CODE_FIELD_NUMBER: builtins.int
    disable_reason: builtins.str
    """"""
    disable_code: builtins.int
    """"""
    def __init__(
        self,
        *,
        disable_reason: builtins.str = ...,
        disable_code: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["disable_code", b"disable_code", "disable_reason", b"disable_reason"]) -> None: ...

global___ExtraContent = ExtraContent

@typing_extensions.final
class History(google.protobuf.message.Message):
    """播放历史"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROGRESS_FIELD_NUMBER: builtins.int
    TOAST_FIELD_NUMBER: builtins.int
    LAST_PLAY_CID_FIELD_NUMBER: builtins.int
    progress: builtins.int
    """播放进度"""
    toast: builtins.str
    """"""
    last_play_cid: builtins.int
    """"""
    def __init__(
        self,
        *,
        progress: builtins.int = ...,
        toast: builtins.str = ...,
        last_play_cid: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["last_play_cid", b"last_play_cid", "progress", b"progress", "toast", b"toast"]) -> None: ...

global___History = History

@typing_extensions.final
class PlayDeviceConf(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class ArcConfsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        @property
        def value(self) -> global___DeviceConf: ...
        def __init__(
            self,
            *,
            key: builtins.int = ...,
            value: global___DeviceConf | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    ARC_CONFS_FIELD_NUMBER: builtins.int
    @property
    def arc_confs(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___DeviceConf]: ...
    def __init__(
        self,
        *,
        arc_confs: collections.abc.Mapping[builtins.int, global___DeviceConf] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["arc_confs", b"arc_confs"]) -> None: ...

global___PlayDeviceConf = PlayDeviceConf

@typing_extensions.final
class Scheme(google.protobuf.message.Message):
    """方案"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _ActionType:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _ActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Scheme._ActionType.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: Scheme._ActionType.ValueType  # 0
        SHOW_TOAST: Scheme._ActionType.ValueType  # 1

    class ActionType(_ActionType, metaclass=_ActionTypeEnumTypeWrapper): ...
    UNKNOWN: Scheme.ActionType.ValueType  # 0
    SHOW_TOAST: Scheme.ActionType.ValueType  # 1

    ACTION_TYPE_FIELD_NUMBER: builtins.int
    TOAST_FIELD_NUMBER: builtins.int
    action_type: global___Scheme.ActionType.ValueType
    toast: builtins.str
    def __init__(
        self,
        *,
        action_type: global___Scheme.ActionType.ValueType = ...,
        toast: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["action_type", b"action_type", "toast", b"toast"]) -> None: ...

global___Scheme = Scheme

@typing_extensions.final
class Stream(google.protobuf.message.Message):
    """视频流信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STREAM_INFO_FIELD_NUMBER: builtins.int
    DASH_VIDEO_FIELD_NUMBER: builtins.int
    SEGMENT_VIDEO_FIELD_NUMBER: builtins.int
    @property
    def stream_info(self) -> global___StreamInfo:
        """元数据"""
    @property
    def dash_video(self) -> global___DashVideo:
        """dash流"""
    @property
    def segment_video(self) -> global___SegmentVideo:
        """分段流"""
    def __init__(
        self,
        *,
        stream_info: global___StreamInfo | None = ...,
        dash_video: global___DashVideo | None = ...,
        segment_video: global___SegmentVideo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["content", b"content", "dash_video", b"dash_video", "segment_video", b"segment_video", "stream_info", b"stream_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["content", b"content", "dash_video", b"dash_video", "segment_video", b"segment_video", "stream_info", b"stream_info"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["content", b"content"]) -> typing_extensions.Literal["dash_video", "segment_video"] | None: ...

global___Stream = Stream

@typing_extensions.final
class StreamInfo(google.protobuf.message.Message):
    """视频流信息: 元数据"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    QUALITY_FIELD_NUMBER: builtins.int
    FORMAT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ERR_CODE_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    NEED_VIP_FIELD_NUMBER: builtins.int
    NEED_LOGIN_FIELD_NUMBER: builtins.int
    INTACT_FIELD_NUMBER: builtins.int
    NO_REXCODE_FIELD_NUMBER: builtins.int
    ATTRIBUTE_FIELD_NUMBER: builtins.int
    NEW_DESCRIPTION_FIELD_NUMBER: builtins.int
    DISPLAY_DESC_FIELD_NUMBER: builtins.int
    SUPERSCRIPT_FIELD_NUMBER: builtins.int
    VIP_FREE_FIELD_NUMBER: builtins.int
    SUBTITLE_FIELD_NUMBER: builtins.int
    SCHEME_FIELD_NUMBER: builtins.int
    SUPPORT_DRM_FIELD_NUMBER: builtins.int
    quality: builtins.int
    """清晰度"""
    format: builtins.str
    """格式"""
    description: builtins.str
    """格式描述"""
    err_code: builtins.int
    """错误码"""
    @property
    def limit(self) -> global___StreamLimit:
        """不满足条件信息"""
    need_vip: builtins.bool
    """是否需要vip"""
    need_login: builtins.bool
    """是否需要登录"""
    intact: builtins.bool
    """是否完整"""
    no_rexcode: builtins.bool
    """是否非全二压"""
    attribute: builtins.int
    """清晰度属性位"""
    new_description: builtins.str
    """新版格式描述"""
    display_desc: builtins.str
    """格式文字"""
    superscript: builtins.str
    """新版格式描述备注"""
    vip_free: builtins.bool
    """"""
    subtitle: builtins.str
    """"""
    @property
    def scheme(self) -> global___Scheme:
        """方案"""
    support_drm: builtins.bool
    """支持drm"""
    def __init__(
        self,
        *,
        quality: builtins.int = ...,
        format: builtins.str = ...,
        description: builtins.str = ...,
        err_code: builtins.int = ...,
        limit: global___StreamLimit | None = ...,
        need_vip: builtins.bool = ...,
        need_login: builtins.bool = ...,
        intact: builtins.bool = ...,
        no_rexcode: builtins.bool = ...,
        attribute: builtins.int = ...,
        new_description: builtins.str = ...,
        display_desc: builtins.str = ...,
        superscript: builtins.str = ...,
        vip_free: builtins.bool = ...,
        subtitle: builtins.str = ...,
        scheme: global___Scheme | None = ...,
        support_drm: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["limit", b"limit", "scheme", b"scheme"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attribute", b"attribute", "description", b"description", "display_desc", b"display_desc", "err_code", b"err_code", "format", b"format", "intact", b"intact", "limit", b"limit", "need_login", b"need_login", "need_vip", b"need_vip", "new_description", b"new_description", "no_rexcode", b"no_rexcode", "quality", b"quality", "scheme", b"scheme", "subtitle", b"subtitle", "superscript", b"superscript", "support_drm", b"support_drm", "vip_free", b"vip_free"]) -> None: ...

global___StreamInfo = StreamInfo

@typing_extensions.final
class DashItem(google.protobuf.message.Message):
    """Dash条目"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    BASE_URL_FIELD_NUMBER: builtins.int
    BACKUP_URL_FIELD_NUMBER: builtins.int
    BANDWIDTH_FIELD_NUMBER: builtins.int
    CODECID_FIELD_NUMBER: builtins.int
    MD5_FIELD_NUMBER: builtins.int
    SIZE_FIELD_NUMBER: builtins.int
    FRAME_RATE_FIELD_NUMBER: builtins.int
    WIDEVINE_PSSH_FIELD_NUMBER: builtins.int
    id: builtins.int
    """清晰度"""
    base_url: builtins.str
    """主线流"""
    @property
    def backup_url(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """备用流"""
    bandwidth: builtins.int
    """带宽"""
    codecid: builtins.int
    """编码id"""
    md5: builtins.str
    """md5"""
    size: builtins.int
    """大小"""
    frame_rate: builtins.str
    """帧率"""
    widevine_pssh: builtins.str
    """DRM密钥"""
    def __init__(
        self,
        *,
        id: builtins.int = ...,
        base_url: builtins.str = ...,
        backup_url: collections.abc.Iterable[builtins.str] | None = ...,
        bandwidth: builtins.int = ...,
        codecid: builtins.int = ...,
        md5: builtins.str = ...,
        size: builtins.int = ...,
        frame_rate: builtins.str = ...,
        widevine_pssh: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["backup_url", b"backup_url", "bandwidth", b"bandwidth", "base_url", b"base_url", "codecid", b"codecid", "frame_rate", b"frame_rate", "id", b"id", "md5", b"md5", "size", b"size", "widevine_pssh", b"widevine_pssh"]) -> None: ...

global___DashItem = DashItem

@typing_extensions.final
class DashVideo(google.protobuf.message.Message):
    """视频流信息: dash流"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BASE_URL_FIELD_NUMBER: builtins.int
    BACKUP_URL_FIELD_NUMBER: builtins.int
    BANDWIDTH_FIELD_NUMBER: builtins.int
    CODECID_FIELD_NUMBER: builtins.int
    MD5_FIELD_NUMBER: builtins.int
    SIZE_FIELD_NUMBER: builtins.int
    AUDIO_ID_FIELD_NUMBER: builtins.int
    NO_REXCODE_FIELD_NUMBER: builtins.int
    FRAME_RATE_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    WIDEVINE_PSSH_FIELD_NUMBER: builtins.int
    base_url: builtins.str
    """主线流"""
    @property
    def backup_url(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """备用流"""
    bandwidth: builtins.int
    """带宽"""
    codecid: builtins.int
    """编码id"""
    md5: builtins.str
    """md5"""
    size: builtins.int
    """大小"""
    audio_id: builtins.int
    """伴音质量id"""
    no_rexcode: builtins.bool
    """是否非全二压"""
    frame_rate: builtins.str
    """帧率"""
    width: builtins.int
    """宽"""
    height: builtins.int
    """高"""
    widevine_pssh: builtins.str
    """DRM密钥"""
    def __init__(
        self,
        *,
        base_url: builtins.str = ...,
        backup_url: collections.abc.Iterable[builtins.str] | None = ...,
        bandwidth: builtins.int = ...,
        codecid: builtins.int = ...,
        md5: builtins.str = ...,
        size: builtins.int = ...,
        audio_id: builtins.int = ...,
        no_rexcode: builtins.bool = ...,
        frame_rate: builtins.str = ...,
        width: builtins.int = ...,
        height: builtins.int = ...,
        widevine_pssh: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["audio_id", b"audio_id", "backup_url", b"backup_url", "bandwidth", b"bandwidth", "base_url", b"base_url", "codecid", b"codecid", "frame_rate", b"frame_rate", "height", b"height", "md5", b"md5", "no_rexcode", b"no_rexcode", "size", b"size", "widevine_pssh", b"widevine_pssh", "width", b"width"]) -> None: ...

global___DashVideo = DashVideo

@typing_extensions.final
class SegmentVideo(google.protobuf.message.Message):
    """视频流信息: 分段流"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SEGMENT_FIELD_NUMBER: builtins.int
    @property
    def segment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResponseUrl]: ...
    def __init__(
        self,
        *,
        segment: collections.abc.Iterable[global___ResponseUrl] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["segment", b"segment"]) -> None: ...

global___SegmentVideo = SegmentVideo

@typing_extensions.final
class ResponseUrl(google.protobuf.message.Message):
    """分段流条目"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ORDER_FIELD_NUMBER: builtins.int
    LENGTH_FIELD_NUMBER: builtins.int
    SIZE_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    BACKUP_URL_FIELD_NUMBER: builtins.int
    MD5_FIELD_NUMBER: builtins.int
    order: builtins.int
    """分段序号"""
    length: builtins.int
    """分段时长"""
    size: builtins.int
    """分段大小"""
    url: builtins.str
    """主线流"""
    @property
    def backup_url(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """备用流"""
    md5: builtins.str
    """md5"""
    def __init__(
        self,
        *,
        order: builtins.int = ...,
        length: builtins.int = ...,
        size: builtins.int = ...,
        url: builtins.str = ...,
        backup_url: collections.abc.Iterable[builtins.str] | None = ...,
        md5: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["backup_url", b"backup_url", "length", b"length", "md5", b"md5", "order", b"order", "size", b"size", "url", b"url"]) -> None: ...

global___ResponseUrl = ResponseUrl

@typing_extensions.final
class ResponseDash(google.protobuf.message.Message):
    """Dash Response, 未使用"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VIDEO_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    @property
    def video(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DashItem]: ...
    @property
    def audio(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DashItem]: ...
    def __init__(
        self,
        *,
        video: collections.abc.Iterable[global___DashItem] | None = ...,
        audio: collections.abc.Iterable[global___DashItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["audio", b"audio", "video", b"video"]) -> None: ...

global___ResponseDash = ResponseDash

@typing_extensions.final
class StreamLimit(google.protobuf.message.Message):
    """视频流信息: 流媒体元数据: 清晰度不满足条件信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TITLE_FIELD_NUMBER: builtins.int
    URI_FIELD_NUMBER: builtins.int
    MSG_FIELD_NUMBER: builtins.int
    title: builtins.str
    """标题"""
    uri: builtins.str
    """跳转地址"""
    msg: builtins.str
    """提示信息"""
    def __init__(
        self,
        *,
        title: builtins.str = ...,
        uri: builtins.str = ...,
        msg: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["msg", b"msg", "title", b"title", "uri", b"uri"]) -> None: ...

global___StreamLimit = StreamLimit

@typing_extensions.final
class VideoVod(google.protobuf.message.Message):
    """播放页信息-请求: 音视频VOD"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AID_FIELD_NUMBER: builtins.int
    CID_FIELD_NUMBER: builtins.int
    QN_FIELD_NUMBER: builtins.int
    FNVER_FIELD_NUMBER: builtins.int
    FNVAL_FIELD_NUMBER: builtins.int
    DOWNLOAD_FIELD_NUMBER: builtins.int
    FORCE_HOST_FIELD_NUMBER: builtins.int
    FOURK_FIELD_NUMBER: builtins.int
    PREFER_CODEC_TYPE_FIELD_NUMBER: builtins.int
    VOICE_BALANCE_FIELD_NUMBER: builtins.int
    aid: builtins.int
    """视频aid"""
    cid: builtins.int
    """视频cid"""
    qn: builtins.int
    """清晰度"""
    fnver: builtins.int
    """视频流版本"""
    fnval: builtins.int
    """视频流格式"""
    download: builtins.int
    """下载模式
    0:播放 1:flv下载 2:dash下载
    """
    force_host: builtins.int
    """流url强制是用域名
    0:允许使用ip 1:使用http 2:使用https
    """
    fourk: builtins.bool
    """是否4K"""
    prefer_codec_type: global___CodeType.ValueType
    """视频编码"""
    voice_balance: builtins.int
    """响度均衡"""
    def __init__(
        self,
        *,
        aid: builtins.int = ...,
        cid: builtins.int = ...,
        qn: builtins.int = ...,
        fnver: builtins.int = ...,
        fnval: builtins.int = ...,
        download: builtins.int = ...,
        force_host: builtins.int = ...,
        fourk: builtins.bool = ...,
        prefer_codec_type: global___CodeType.ValueType = ...,
        voice_balance: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["aid", b"aid", "cid", b"cid", "download", b"download", "fnval", b"fnval", "fnver", b"fnver", "force_host", b"force_host", "fourk", b"fourk", "prefer_codec_type", b"prefer_codec_type", "qn", b"qn", "voice_balance", b"voice_balance"]) -> None: ...

global___VideoVod = VideoVod

@typing_extensions.final
class VodInfo(google.protobuf.message.Message):
    """播放页信息-响应: VOD音视频信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    QUALITY_FIELD_NUMBER: builtins.int
    FORMAT_FIELD_NUMBER: builtins.int
    TIMELENGTH_FIELD_NUMBER: builtins.int
    VIDEO_CODECID_FIELD_NUMBER: builtins.int
    STREAM_LIST_FIELD_NUMBER: builtins.int
    DASH_AUDIO_FIELD_NUMBER: builtins.int
    DOLBY_FIELD_NUMBER: builtins.int
    VOLUME_FIELD_NUMBER: builtins.int
    LOSS_LESS_ITEM_FIELD_NUMBER: builtins.int
    quality: builtins.int
    """视频清晰度"""
    format: builtins.str
    """视频格式"""
    timelength: builtins.int
    """视频时长"""
    video_codecid: builtins.int
    """视频编码id"""
    @property
    def stream_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Stream]:
        """视频流"""
    @property
    def dash_audio(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DashItem]:
        """伴音流"""
    @property
    def dolby(self) -> global___DolbyItem:
        """杜比伴音流"""
    @property
    def volume(self) -> global___VolumeInfo:
        """响度均衡操作信息"""
    @property
    def loss_less_item(self) -> global___LossLessItem:
        """HIRES伴音流信息"""
    def __init__(
        self,
        *,
        quality: builtins.int = ...,
        format: builtins.str = ...,
        timelength: builtins.int = ...,
        video_codecid: builtins.int = ...,
        stream_list: collections.abc.Iterable[global___Stream] | None = ...,
        dash_audio: collections.abc.Iterable[global___DashItem] | None = ...,
        dolby: global___DolbyItem | None = ...,
        volume: global___VolumeInfo | None = ...,
        loss_less_item: global___LossLessItem | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dolby", b"dolby", "loss_less_item", b"loss_less_item", "volume", b"volume"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dash_audio", b"dash_audio", "dolby", b"dolby", "format", b"format", "loss_less_item", b"loss_less_item", "quality", b"quality", "stream_list", b"stream_list", "timelength", b"timelength", "video_codecid", b"video_codecid", "volume", b"volume"]) -> None: ...

global___VodInfo = VodInfo

@typing_extensions.final
class DolbyItem(google.protobuf.message.Message):
    """杜比伴音流信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _Type:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DolbyItem._Type.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NONE: DolbyItem._Type.ValueType  # 0
        """NONE"""
        COMMON: DolbyItem._Type.ValueType  # 1
        """普通杜比音效"""
        ATMOS: DolbyItem._Type.ValueType  # 2
        """全景杜比音效"""

    class Type(_Type, metaclass=_TypeEnumTypeWrapper):
        """杜比类型"""

    NONE: DolbyItem.Type.ValueType  # 0
    """NONE"""
    COMMON: DolbyItem.Type.ValueType  # 1
    """普通杜比音效"""
    ATMOS: DolbyItem.Type.ValueType  # 2
    """全景杜比音效"""

    TYPE_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    type: global___DolbyItem.Type.ValueType
    """杜比类型"""
    @property
    def audio(self) -> global___DashItem:
        """音频流"""
    def __init__(
        self,
        *,
        type: global___DolbyItem.Type.ValueType = ...,
        audio: global___DashItem | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["audio", b"audio"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["audio", b"audio", "type", b"type"]) -> None: ...

global___DolbyItem = DolbyItem

@typing_extensions.final
class LossLessItem(google.protobuf.message.Message):
    """HIRES伴音流信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    IS_LOSSLESS_AUDIO_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    NEED_VIP_FIELD_NUMBER: builtins.int
    is_lossless_audio: builtins.bool
    """是否为hires"""
    @property
    def audio(self) -> global___DashItem:
        """音频流信息"""
    need_vip: builtins.bool
    """是否需要大会员"""
    def __init__(
        self,
        *,
        is_lossless_audio: builtins.bool = ...,
        audio: global___DashItem | None = ...,
        need_vip: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["audio", b"audio"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["audio", b"audio", "is_lossless_audio", b"is_lossless_audio", "need_vip", b"need_vip"]) -> None: ...

global___LossLessItem = LossLessItem

@typing_extensions.final
class VolumeInfo(google.protobuf.message.Message):
    """响度均衡操作信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MEASURED_I_FIELD_NUMBER: builtins.int
    MEASURED_LRA_FIELD_NUMBER: builtins.int
    MEASURED_TP_FIELD_NUMBER: builtins.int
    MEASURED_THRESHOLD_FIELD_NUMBER: builtins.int
    TARGET_OFFSET_FIELD_NUMBER: builtins.int
    TARGET_I_FIELD_NUMBER: builtins.int
    TARGET_TP_FIELD_NUMBER: builtins.int
    measured_i: builtins.float
    """Measured integrated loudness 实际综合响度"""
    measured_lra: builtins.float
    """Measured loudness range 实际响度范围"""
    measured_tp: builtins.float
    """Measured true peak 实际响度真峰值"""
    measured_threshold: builtins.float
    """Measured threshold 实际响度阈值"""
    target_offset: builtins.float
    """Target offset gain(Gain is applied before the true-peak limiter) 目标增益Offset(增益在真实峰值限制器之前应用)"""
    target_i: builtins.float
    """Target integrated loudness 目标综合响度"""
    target_tp: builtins.float
    """Target true peak 目标响度真峰值"""
    def __init__(
        self,
        *,
        measured_i: builtins.float = ...,
        measured_lra: builtins.float = ...,
        measured_tp: builtins.float = ...,
        measured_threshold: builtins.float = ...,
        target_offset: builtins.float = ...,
        target_i: builtins.float = ...,
        target_tp: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["measured_i", b"measured_i", "measured_lra", b"measured_lra", "measured_threshold", b"measured_threshold", "measured_tp", b"measured_tp", "target_i", b"target_i", "target_offset", b"target_offset", "target_tp", b"target_tp"]) -> None: ...

global___VolumeInfo = VolumeInfo

@typing_extensions.final
class PlayArc(google.protobuf.message.Message):
    """"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VIDEO_TYPE_FIELD_NUMBER: builtins.int
    AID_FIELD_NUMBER: builtins.int
    CID_FIELD_NUMBER: builtins.int
    DRM_TECH_TYPE_FIELD_NUMBER: builtins.int
    video_type: global___VideoType.ValueType
    aid: builtins.int
    cid: builtins.int
    drm_tech_type: global___DrmTechType.ValueType
    def __init__(
        self,
        *,
        video_type: global___VideoType.ValueType = ...,
        aid: builtins.int = ...,
        cid: builtins.int = ...,
        drm_tech_type: global___DrmTechType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["aid", b"aid", "cid", b"cid", "drm_tech_type", b"drm_tech_type", "video_type", b"video_type"]) -> None: ...

global___PlayArc = PlayArc

@typing_extensions.final
class PlayArcConf(google.protobuf.message.Message):
    """播放页信息-响应: PlayArcConf"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class ArcConfsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        @property
        def value(self) -> global___PlayArc: ...
        def __init__(
            self,
            *,
            key: builtins.int = ...,
            value: global___PlayArc | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    ARC_CONFS_FIELD_NUMBER: builtins.int
    @property
    def arc_confs(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___PlayArc]: ...
    def __init__(
        self,
        *,
        arc_confs: collections.abc.Mapping[builtins.int, global___PlayArc] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["arc_confs", b"arc_confs"]) -> None: ...

global___PlayArcConf = PlayArcConf

@typing_extensions.final
class QnTrialButton(google.protobuf.message.Message):
    """高画质试看信息: 按钮"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TEXT_FIELD_NUMBER: builtins.int
    LINK_FIELD_NUMBER: builtins.int
    text: builtins.str
    link: builtins.str
    def __init__(
        self,
        *,
        text: builtins.str = ...,
        link: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["link", b"link", "text", b"text"]) -> None: ...

global___QnTrialButton = QnTrialButton

@typing_extensions.final
class QnTrialInfo(google.protobuf.message.Message):
    """播放页信息-响应: 高画质试看信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRIAL_ABLE_FIELD_NUMBER: builtins.int
    REMAINING_TIMES_FIELD_NUMBER: builtins.int
    START_FIELD_NUMBER: builtins.int
    TIME_LENGTH_FIELD_NUMBER: builtins.int
    START_TOAST_FIELD_NUMBER: builtins.int
    END_TOAST_FIELD_NUMBER: builtins.int
    QUALITY_OPEN_TIP_BTN_FIELD_NUMBER: builtins.int
    trial_able: builtins.bool
    """能否试看高画质"""
    remaining_times: builtins.int
    """"""
    start: builtins.int
    """"""
    time_length: builtins.int
    """"""
    @property
    def start_toast(self) -> global___QnTrialToast:
        """"""
    @property
    def end_toast(self) -> global___QnTrialToast:
        """"""
    @property
    def quality_open_tip_btn(self) -> global___QnTrialButton:
        """"""
    def __init__(
        self,
        *,
        trial_able: builtins.bool = ...,
        remaining_times: builtins.int = ...,
        start: builtins.int = ...,
        time_length: builtins.int = ...,
        start_toast: global___QnTrialToast | None = ...,
        end_toast: global___QnTrialToast | None = ...,
        quality_open_tip_btn: global___QnTrialButton | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["end_toast", b"end_toast", "quality_open_tip_btn", b"quality_open_tip_btn", "start_toast", b"start_toast"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["end_toast", b"end_toast", "quality_open_tip_btn", b"quality_open_tip_btn", "remaining_times", b"remaining_times", "start", b"start", "start_toast", b"start_toast", "time_length", b"time_length", "trial_able", b"trial_able"]) -> None: ...

global___QnTrialInfo = QnTrialInfo

@typing_extensions.final
class QnTrialToast(google.protobuf.message.Message):
    """高画质试看信息: Toast信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TEXT_FIELD_NUMBER: builtins.int
    BUTTON_FIELD_NUMBER: builtins.int
    text: builtins.str
    """toast文案 老字段"""
    @property
    def button(self) -> global___QnTrialButton:
        """toast按钮"""
    def __init__(
        self,
        *,
        text: builtins.str = ...,
        button: global___QnTrialButton | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["button", b"button"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["button", b"button", "text", b"text"]) -> None: ...

global___QnTrialToast = QnTrialToast

@typing_extensions.final
class Event(google.protobuf.message.Message):
    """事件"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SHAKE_FIELD_NUMBER: builtins.int
    @property
    def shake(self) -> global___Shake:
        """震动"""
    def __init__(
        self,
        *,
        shake: global___Shake | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["shake", b"shake"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["shake", b"shake"]) -> None: ...

global___Event = Event

@typing_extensions.final
class Shake(google.protobuf.message.Message):
    """震动"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FILE_FIELD_NUMBER: builtins.int
    file: builtins.str
    """"""
    def __init__(
        self,
        *,
        file: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["file", b"file"]) -> None: ...

global___Shake = Shake
