# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
This file contains the exact signatures for all functions in module
PySide6.QtMultimedia, except for defaults which are replaced by "...".
"""

# mypy: disable-error-code="override, overload-overlap"
# Module `PySide6.QtMultimedia`

import PySide6.QtMultimedia
import PySide6.QtCore

import enum
import typing
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


class QAbstractVideoBuffer(Shiboken.Object):

    class MapData(Shiboken.Object): ...


class QAudio(Shiboken.Object):

    class Error(enum.Enum):

        NoError                   = 0x0
        OpenError                 = 0x1
        IOError                   = 0x2
        UnderrunError             = 0x3
        FatalError                = 0x4

    class State(enum.Enum):

        ActiveState               = 0x0
        SuspendedState            = 0x1
        StoppedState              = 0x2
        IdleState                 = 0x3

    class VolumeScale(enum.Enum):

        LinearVolumeScale         = 0x0
        CubicVolumeScale          = 0x1
        LogarithmicVolumeScale    = 0x2
        DecibelVolumeScale        = 0x3


class QAudioBuffer(Shiboken.Object): ...


class QAudioBufferInput(PySide6.QtCore.QObject):

    readyToSendAudioBuffer   : typing.ClassVar[Signal] = ... # readyToSendAudioBuffer()


class QAudioBufferOutput(PySide6.QtCore.QObject):

    audioBufferReceived      : typing.ClassVar[Signal] = ... # audioBufferReceived(QAudioBuffer)


class QAudioDecoder(PySide6.QtCore.QObject):

    bufferAvailableChanged   : typing.ClassVar[Signal] = ... # bufferAvailableChanged(bool)
    bufferReady              : typing.ClassVar[Signal] = ... # bufferReady()
    durationChanged          : typing.ClassVar[Signal] = ... # durationChanged(qlonglong)
    error                    : typing.ClassVar[Signal] = ... # error(QAudioDecoder::Error)
    finished                 : typing.ClassVar[Signal] = ... # finished()
    formatChanged            : typing.ClassVar[Signal] = ... # formatChanged(QAudioFormat)
    isDecodingChanged        : typing.ClassVar[Signal] = ... # isDecodingChanged(bool)
    positionChanged          : typing.ClassVar[Signal] = ... # positionChanged(qlonglong)
    sourceChanged            : typing.ClassVar[Signal] = ... # sourceChanged()

    class Error(enum.Enum):

        NoError                   = 0x0
        ResourceError             = 0x1
        FormatError               = 0x2
        AccessDeniedError         = 0x3
        NotSupportedError         = 0x4


class QAudioDevice(Shiboken.Object):

    class Mode(enum.Enum):

        Null                      = 0x0
        Input                     = 0x1
        Output                    = 0x2


class QAudioFormat(Shiboken.Object):

    class AudioChannelPosition(enum.Enum):

        UnknownPosition           = 0x0
        FrontLeft                 = 0x1
        FrontRight                = 0x2
        FrontCenter               = 0x3
        LFE                       = 0x4
        BackLeft                  = 0x5
        BackRight                 = 0x6
        FrontLeftOfCenter         = 0x7
        FrontRightOfCenter        = 0x8
        BackCenter                = 0x9
        SideLeft                  = 0xa
        SideRight                 = 0xb
        TopCenter                 = 0xc
        TopFrontLeft              = 0xd
        TopFrontCenter            = 0xe
        TopFrontRight             = 0xf
        TopBackLeft               = 0x10
        TopBackCenter             = 0x11
        TopBackRight              = 0x12
        LFE2                      = 0x13
        TopSideLeft               = 0x14
        TopSideRight              = 0x15
        BottomFrontCenter         = 0x16
        BottomFrontLeft           = 0x17
        BottomFrontRight          = 0x18

    class ChannelConfig(enum.Enum):

        ChannelConfigUnknown      = 0x0
        ChannelConfigStereo       = 0x6
        ChannelConfigMono         = 0x8
        ChannelConfig3Dot0        = 0xe
        ChannelConfig2Dot1        = 0x16
        ChannelConfig3Dot1        = 0x1e
        ChannelConfigSurround5Dot0 = 0x6e
        ChannelConfigSurround5Dot1 = 0x7e
        ChannelConfigSurround7Dot0 = 0xc6e
        ChannelConfigSurround7Dot1 = 0xc7e

    class SampleFormat(enum.Enum):

        Unknown                   = 0x0
        UInt8                     = 0x1
        Int16                     = 0x2
        Int32                     = 0x3
        Float                     = 0x4
        NSampleFormats            = 0x5


    def __repr__(self, /) -> str: ...


class QAudioInput(PySide6.QtCore.QObject):

    deviceChanged            : typing.ClassVar[Signal] = ... # deviceChanged()
    mutedChanged             : typing.ClassVar[Signal] = ... # mutedChanged(bool)
    volumeChanged            : typing.ClassVar[Signal] = ... # volumeChanged(float)


class QAudioOutput(PySide6.QtCore.QObject):

    deviceChanged            : typing.ClassVar[Signal] = ... # deviceChanged()
    mutedChanged             : typing.ClassVar[Signal] = ... # mutedChanged(bool)
    volumeChanged            : typing.ClassVar[Signal] = ... # volumeChanged(float)


class QAudioSink(PySide6.QtCore.QObject):

    stateChanged             : typing.ClassVar[Signal] = ... # stateChanged(QAudio::State)


class QAudioSource(PySide6.QtCore.QObject):

    stateChanged             : typing.ClassVar[Signal] = ... # stateChanged(QAudio::State)


class QCamera(PySide6.QtCore.QObject):

    activeChanged            : typing.ClassVar[Signal] = ... # activeChanged(bool)
    brightnessChanged        : typing.ClassVar[Signal] = ... # brightnessChanged()
    cameraDeviceChanged      : typing.ClassVar[Signal] = ... # cameraDeviceChanged()
    cameraFormatChanged      : typing.ClassVar[Signal] = ... # cameraFormatChanged()
    colorTemperatureChanged  : typing.ClassVar[Signal] = ... # colorTemperatureChanged()
    contrastChanged          : typing.ClassVar[Signal] = ... # contrastChanged()
    customFocusPointChanged  : typing.ClassVar[Signal] = ... # customFocusPointChanged()
    errorChanged             : typing.ClassVar[Signal] = ... # errorChanged()
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QCamera::Error,QString)
    exposureCompensationChanged: typing.ClassVar[Signal] = ... # exposureCompensationChanged(float)
    exposureModeChanged      : typing.ClassVar[Signal] = ... # exposureModeChanged()
    exposureTimeChanged      : typing.ClassVar[Signal] = ... # exposureTimeChanged(float)
    flashModeChanged         : typing.ClassVar[Signal] = ... # flashModeChanged()
    flashReady               : typing.ClassVar[Signal] = ... # flashReady(bool)
    focusDistanceChanged     : typing.ClassVar[Signal] = ... # focusDistanceChanged(float)
    focusModeChanged         : typing.ClassVar[Signal] = ... # focusModeChanged()
    focusPointChanged        : typing.ClassVar[Signal] = ... # focusPointChanged()
    hueChanged               : typing.ClassVar[Signal] = ... # hueChanged()
    isoSensitivityChanged    : typing.ClassVar[Signal] = ... # isoSensitivityChanged(int)
    manualExposureTimeChanged: typing.ClassVar[Signal] = ... # manualExposureTimeChanged(float)
    manualIsoSensitivityChanged: typing.ClassVar[Signal] = ... # manualIsoSensitivityChanged(int)
    maximumZoomFactorChanged : typing.ClassVar[Signal] = ... # maximumZoomFactorChanged(float)
    minimumZoomFactorChanged : typing.ClassVar[Signal] = ... # minimumZoomFactorChanged(float)
    saturationChanged        : typing.ClassVar[Signal] = ... # saturationChanged()
    supportedFeaturesChanged : typing.ClassVar[Signal] = ... # supportedFeaturesChanged()
    torchModeChanged         : typing.ClassVar[Signal] = ... # torchModeChanged()
    whiteBalanceModeChanged  : typing.ClassVar[Signal] = ... # whiteBalanceModeChanged()
    zoomFactorChanged        : typing.ClassVar[Signal] = ... # zoomFactorChanged(float)

    class Error(enum.Enum):

        NoError                   = 0x0
        CameraError               = 0x1

    class ExposureMode(enum.Enum):

        ExposureAuto              = 0x0
        ExposureManual            = 0x1
        ExposurePortrait          = 0x2
        ExposureNight             = 0x3
        ExposureSports            = 0x4
        ExposureSnow              = 0x5
        ExposureBeach             = 0x6
        ExposureAction            = 0x7
        ExposureLandscape         = 0x8
        ExposureNightPortrait     = 0x9
        ExposureTheatre           = 0xa
        ExposureSunset            = 0xb
        ExposureSteadyPhoto       = 0xc
        ExposureFireworks         = 0xd
        ExposureParty             = 0xe
        ExposureCandlelight       = 0xf
        ExposureBarcode           = 0x10

    class Feature(enum.Flag):

        ColorTemperature          = 0x1
        ExposureCompensation      = 0x2
        IsoSensitivity            = 0x4
        ManualExposureTime        = 0x8
        CustomFocusPoint          = 0x10
        FocusDistance             = 0x20

    class FlashMode(enum.Enum):

        FlashOff                  = 0x0
        FlashOn                   = 0x1
        FlashAuto                 = 0x2

    class FocusMode(enum.Enum):

        FocusModeAuto             = 0x0
        FocusModeAutoNear         = 0x1
        FocusModeAutoFar          = 0x2
        FocusModeHyperfocal       = 0x3
        FocusModeInfinity         = 0x4
        FocusModeManual           = 0x5

    class TorchMode(enum.Enum):

        TorchOff                  = 0x0
        TorchOn                   = 0x1
        TorchAuto                 = 0x2

    class WhiteBalanceMode(enum.Enum):

        WhiteBalanceAuto          = 0x0
        WhiteBalanceManual        = 0x1
        WhiteBalanceSunlight      = 0x2
        WhiteBalanceCloudy        = 0x3
        WhiteBalanceShade         = 0x4
        WhiteBalanceTungsten      = 0x5
        WhiteBalanceFluorescent   = 0x6
        WhiteBalanceFlash         = 0x7
        WhiteBalanceSunset        = 0x8


class QCameraDevice(Shiboken.Object):

    class Position(enum.Enum):

        UnspecifiedPosition       = 0x0
        BackFace                  = 0x1
        FrontFace                 = 0x2


    def __repr__(self, /) -> str: ...


class QCameraFormat(Shiboken.Object): ...


class QCapturableWindow(Shiboken.Object): ...


class QImageCapture(PySide6.QtCore.QObject):

    errorChanged             : typing.ClassVar[Signal] = ... # errorChanged()
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(int,QImageCapture::Error,QString)
    fileFormatChanged        : typing.ClassVar[Signal] = ... # fileFormatChanged()
    imageAvailable           : typing.ClassVar[Signal] = ... # imageAvailable(int,QVideoFrame)
    imageCaptured            : typing.ClassVar[Signal] = ... # imageCaptured(int,QImage)
    imageExposed             : typing.ClassVar[Signal] = ... # imageExposed(int)
    imageMetadataAvailable   : typing.ClassVar[Signal] = ... # imageMetadataAvailable(int,QMediaMetaData)
    imageSaved               : typing.ClassVar[Signal] = ... # imageSaved(int,QString)
    metaDataChanged          : typing.ClassVar[Signal] = ... # metaDataChanged()
    qualityChanged           : typing.ClassVar[Signal] = ... # qualityChanged()
    readyForCaptureChanged   : typing.ClassVar[Signal] = ... # readyForCaptureChanged(bool)
    resolutionChanged        : typing.ClassVar[Signal] = ... # resolutionChanged()

    class Error(enum.Enum):

        NoError                   = 0x0
        NotReadyError             = 0x1
        ResourceError             = 0x2
        OutOfSpaceError           = 0x3
        NotSupportedFeatureError  = 0x4
        FormatError               = 0x5

    class FileFormat(enum.Enum):

        UnspecifiedFormat         = 0x0
        JPEG                      = 0x1
        PNG                       = 0x2
        WebP                      = 0x3
        LastFileFormat            = 0x4
        Tiff                      = 0x4

    class Quality(enum.Enum):

        VeryLowQuality            = 0x0
        LowQuality                = 0x1
        NormalQuality             = 0x2
        HighQuality               = 0x3
        VeryHighQuality           = 0x4


class QIntList: ...


class QMediaCaptureSession(PySide6.QtCore.QObject):

    audioBufferInputChanged  : typing.ClassVar[Signal] = ... # audioBufferInputChanged()
    audioInputChanged        : typing.ClassVar[Signal] = ... # audioInputChanged()
    audioOutputChanged       : typing.ClassVar[Signal] = ... # audioOutputChanged()
    cameraChanged            : typing.ClassVar[Signal] = ... # cameraChanged()
    imageCaptureChanged      : typing.ClassVar[Signal] = ... # imageCaptureChanged()
    recorderChanged          : typing.ClassVar[Signal] = ... # recorderChanged()
    screenCaptureChanged     : typing.ClassVar[Signal] = ... # screenCaptureChanged()
    videoFrameInputChanged   : typing.ClassVar[Signal] = ... # videoFrameInputChanged()
    videoOutputChanged       : typing.ClassVar[Signal] = ... # videoOutputChanged()
    windowCaptureChanged     : typing.ClassVar[Signal] = ... # windowCaptureChanged()


class QMediaDevices(PySide6.QtCore.QObject):

    audioInputsChanged       : typing.ClassVar[Signal] = ... # audioInputsChanged()
    audioOutputsChanged      : typing.ClassVar[Signal] = ... # audioOutputsChanged()
    videoInputsChanged       : typing.ClassVar[Signal] = ... # videoInputsChanged()


class QMediaFormat(Shiboken.Object):

    class AudioCodec(enum.Enum):

        Unspecified               = -1
        MP3                       = 0x0
        AAC                       = 0x1
        AC3                       = 0x2
        EAC3                      = 0x3
        FLAC                      = 0x4
        DolbyTrueHD               = 0x5
        Opus                      = 0x6
        Vorbis                    = 0x7
        Wave                      = 0x8
        WMA                       = 0x9
        ALAC                      = 0xa
        LastAudioCodec            = 0xa

    class ConversionMode(enum.Enum):

        Encode                    = 0x0
        Decode                    = 0x1

    class FileFormat(enum.Enum):

        UnspecifiedFormat         = -1
        WMV                       = 0x0
        AVI                       = 0x1
        Matroska                  = 0x2
        MPEG4                     = 0x3
        Ogg                       = 0x4
        QuickTime                 = 0x5
        WebM                      = 0x6
        Mpeg4Audio                = 0x7
        AAC                       = 0x8
        WMA                       = 0x9
        MP3                       = 0xa
        FLAC                      = 0xb
        LastFileFormat            = 0xc
        Wave                      = 0xc

    class ResolveFlags(enum.Enum):

        NoFlags                   = 0x0
        RequiresVideo             = 0x1

    class VideoCodec(enum.Enum):

        Unspecified               = -1
        MPEG1                     = 0x0
        MPEG2                     = 0x1
        MPEG4                     = 0x2
        H264                      = 0x3
        H265                      = 0x4
        VP8                       = 0x5
        VP9                       = 0x6
        AV1                       = 0x7
        Theora                    = 0x8
        WMV                       = 0x9
        LastVideoCodec            = 0xa
        MotionJPEG                = 0xa


class QMediaMetaData(Shiboken.Object):

    class Key(enum.Enum):

        Title                     = 0x0
        Author                    = 0x1
        Comment                   = 0x2
        Description               = 0x3
        Genre                     = 0x4
        Date                      = 0x5
        Language                  = 0x6
        Publisher                 = 0x7
        Copyright                 = 0x8
        Url                       = 0x9
        Duration                  = 0xa
        MediaType                 = 0xb
        FileFormat                = 0xc
        AudioBitRate              = 0xd
        AudioCodec                = 0xe
        VideoBitRate              = 0xf
        VideoCodec                = 0x10
        VideoFrameRate            = 0x11
        AlbumTitle                = 0x12
        AlbumArtist               = 0x13
        ContributingArtist        = 0x14
        TrackNumber               = 0x15
        Composer                  = 0x16
        LeadPerformer             = 0x17
        ThumbnailImage            = 0x18
        CoverArtImage             = 0x19
        Orientation               = 0x1a
        Resolution                = 0x1b
        HasHdrContent             = 0x1c


class QMediaPlayer(PySide6.QtCore.QObject):

    activeTracksChanged      : typing.ClassVar[Signal] = ... # activeTracksChanged()
    audioBufferOutputChanged : typing.ClassVar[Signal] = ... # audioBufferOutputChanged()
    audioOutputChanged       : typing.ClassVar[Signal] = ... # audioOutputChanged()
    bufferProgressChanged    : typing.ClassVar[Signal] = ... # bufferProgressChanged(float)
    durationChanged          : typing.ClassVar[Signal] = ... # durationChanged(qlonglong)
    errorChanged             : typing.ClassVar[Signal] = ... # errorChanged()
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QMediaPlayer::Error,QString)
    hasAudioChanged          : typing.ClassVar[Signal] = ... # hasAudioChanged(bool)
    hasVideoChanged          : typing.ClassVar[Signal] = ... # hasVideoChanged(bool)
    loopsChanged             : typing.ClassVar[Signal] = ... # loopsChanged()
    mediaStatusChanged       : typing.ClassVar[Signal] = ... # mediaStatusChanged(QMediaPlayer::MediaStatus)
    metaDataChanged          : typing.ClassVar[Signal] = ... # metaDataChanged()
    pitchCompensationChanged : typing.ClassVar[Signal] = ... # pitchCompensationChanged(bool)
    playbackOptionsChanged   : typing.ClassVar[Signal] = ... # playbackOptionsChanged()
    playbackRateChanged      : typing.ClassVar[Signal] = ... # playbackRateChanged(double)
    playbackStateChanged     : typing.ClassVar[Signal] = ... # playbackStateChanged(QMediaPlayer::PlaybackState)
    playingChanged           : typing.ClassVar[Signal] = ... # playingChanged(bool)
    positionChanged          : typing.ClassVar[Signal] = ... # positionChanged(qlonglong)
    seekableChanged          : typing.ClassVar[Signal] = ... # seekableChanged(bool)
    sourceChanged            : typing.ClassVar[Signal] = ... # sourceChanged(QUrl)
    tracksChanged            : typing.ClassVar[Signal] = ... # tracksChanged()
    videoOutputChanged       : typing.ClassVar[Signal] = ... # videoOutputChanged()

    class Error(enum.Enum):

        NoError                   = 0x0
        ResourceError             = 0x1
        FormatError               = 0x2
        NetworkError              = 0x3
        AccessDeniedError         = 0x4

    class Loops(enum.IntEnum):

        Infinite                  = -1
        Once                      = 0x1

    class MediaStatus(enum.Enum):

        NoMedia                   = 0x0
        LoadingMedia              = 0x1
        LoadedMedia               = 0x2
        StalledMedia              = 0x3
        BufferingMedia            = 0x4
        BufferedMedia             = 0x5
        EndOfMedia                = 0x6
        InvalidMedia              = 0x7

    class PitchCompensationAvailability(enum.Enum):

        AlwaysOn                  = 0x0
        Available                 = 0x1
        Unavailable               = 0x2

    class PlaybackState(enum.Enum):

        StoppedState              = 0x0
        PlayingState              = 0x1
        PausedState               = 0x2


class QMediaRecorder(PySide6.QtCore.QObject):

    actualLocationChanged    : typing.ClassVar[Signal] = ... # actualLocationChanged(QUrl)
    audioBitRateChanged      : typing.ClassVar[Signal] = ... # audioBitRateChanged()
    audioChannelCountChanged : typing.ClassVar[Signal] = ... # audioChannelCountChanged()
    audioSampleRateChanged   : typing.ClassVar[Signal] = ... # audioSampleRateChanged()
    autoStopChanged          : typing.ClassVar[Signal] = ... # autoStopChanged()
    durationChanged          : typing.ClassVar[Signal] = ... # durationChanged(qlonglong)
    encoderSettingsChanged   : typing.ClassVar[Signal] = ... # encoderSettingsChanged()
    encodingModeChanged      : typing.ClassVar[Signal] = ... # encodingModeChanged()
    errorChanged             : typing.ClassVar[Signal] = ... # errorChanged()
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(Error,QString)
    mediaFormatChanged       : typing.ClassVar[Signal] = ... # mediaFormatChanged()
    metaDataChanged          : typing.ClassVar[Signal] = ... # metaDataChanged()
    qualityChanged           : typing.ClassVar[Signal] = ... # qualityChanged()
    recorderStateChanged     : typing.ClassVar[Signal] = ... # recorderStateChanged(RecorderState)
    videoBitRateChanged      : typing.ClassVar[Signal] = ... # videoBitRateChanged()
    videoFrameRateChanged    : typing.ClassVar[Signal] = ... # videoFrameRateChanged()
    videoResolutionChanged   : typing.ClassVar[Signal] = ... # videoResolutionChanged()

    class EncodingMode(enum.Enum):

        ConstantQualityEncoding   = 0x0
        ConstantBitRateEncoding   = 0x1
        AverageBitRateEncoding    = 0x2
        TwoPassEncoding           = 0x3

    class Error(enum.Enum):

        NoError                   = 0x0
        ResourceError             = 0x1
        FormatError               = 0x2
        OutOfSpaceError           = 0x3
        LocationNotWritable       = 0x4

    class Quality(enum.Enum):

        VeryLowQuality            = 0x0
        LowQuality                = 0x1
        NormalQuality             = 0x2
        HighQuality               = 0x3
        VeryHighQuality           = 0x4

    class RecorderState(enum.Enum):

        StoppedState              = 0x0
        RecordingState            = 0x1
        PausedState               = 0x2


class QMediaTimeRange(Shiboken.Object):

    class Interval(Shiboken.Object): ...
        def __repr__(self, /) -> str: ...


    def __repr__(self, /) -> str: ...


class QPlaybackOptions(Shiboken.Object):

    class PlaybackIntent(enum.Enum):

        Playback                  = 0x0
        LowLatencyStreaming       = 0x1


class QScreenCapture(PySide6.QtCore.QObject):

    activeChanged            : typing.ClassVar[Signal] = ... # activeChanged(bool)
    errorChanged             : typing.ClassVar[Signal] = ... # errorChanged()
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QScreenCapture::Error,QString)
    screenChanged            : typing.ClassVar[Signal] = ... # screenChanged(QScreen*)

    class Error(enum.Enum):

        NoError                   = 0x0
        InternalError             = 0x1
        CapturingNotSupported     = 0x2
        CaptureFailed             = 0x4
        NotFound                  = 0x5


class QSoundEffect(PySide6.QtCore.QObject):

    audioDeviceChanged       : typing.ClassVar[Signal] = ... # audioDeviceChanged()
    loadedChanged            : typing.ClassVar[Signal] = ... # loadedChanged()
    loopCountChanged         : typing.ClassVar[Signal] = ... # loopCountChanged()
    loopsRemainingChanged    : typing.ClassVar[Signal] = ... # loopsRemainingChanged()
    mutedChanged             : typing.ClassVar[Signal] = ... # mutedChanged()
    playingChanged           : typing.ClassVar[Signal] = ... # playingChanged()
    sourceChanged            : typing.ClassVar[Signal] = ... # sourceChanged()
    statusChanged            : typing.ClassVar[Signal] = ... # statusChanged()
    volumeChanged            : typing.ClassVar[Signal] = ... # volumeChanged()

    class Loop(enum.Enum):

        Infinite                  = -2

    class Status(enum.Enum):

        Null                      = 0x0
        Loading                   = 0x1
        Ready                     = 0x2
        Error                     = 0x3


class QVideoFrame(Shiboken.Object):

    class HandleType(enum.Enum):

        NoHandle                  = 0x0
        RhiTextureHandle          = 0x1

    class MapMode(enum.Enum):

        NotMapped                 = 0x0
        ReadOnly                  = 0x1
        WriteOnly                 = 0x2
        ReadWrite                 = 0x3

    class PaintOptions(Shiboken.Object):

        class PaintFlag(enum.Flag):

            DontDrawSubtitles         = 0x1


    class RotationAngle(enum.Enum):

        Rotation0                 = 0x0
        Rotation90                = 0x5a
        Rotation180               = 0xb4
        Rotation270               = 0x10e


    def __repr__(self, /) -> str: ...


class QVideoFrameFormat(Shiboken.Object):

    class ColorRange(enum.Enum):

        ColorRange_Unknown        = 0x0
        ColorRange_Video          = 0x1
        ColorRange_Full           = 0x2

    class ColorSpace(enum.Enum):

        ColorSpace_Undefined      = 0x0
        ColorSpace_BT601          = 0x1
        ColorSpace_BT709          = 0x2
        ColorSpace_AdobeRgb       = 0x5
        ColorSpace_BT2020         = 0x6

    class ColorTransfer(enum.Enum):

        ColorTransfer_Unknown     = 0x0
        ColorTransfer_BT709       = 0x1
        ColorTransfer_BT601       = 0x2
        ColorTransfer_Linear      = 0x3
        ColorTransfer_Gamma22     = 0x4
        ColorTransfer_Gamma28     = 0x5
        ColorTransfer_ST2084      = 0x6
        ColorTransfer_STD_B67     = 0x7

    class Direction(enum.Enum):

        TopToBottom               = 0x0
        BottomToTop               = 0x1

    class PixelFormat(enum.Enum):

        Format_Invalid            = 0x0
        Format_ARGB8888           = 0x1
        Format_ARGB8888_Premultiplied = 0x2
        Format_XRGB8888           = 0x3
        Format_BGRA8888           = 0x4
        Format_BGRA8888_Premultiplied = 0x5
        Format_BGRX8888           = 0x6
        Format_ABGR8888           = 0x7
        Format_XBGR8888           = 0x8
        Format_RGBA8888           = 0x9
        Format_RGBX8888           = 0xa
        Format_AYUV               = 0xb
        Format_AYUV_Premultiplied = 0xc
        Format_YUV420P            = 0xd
        Format_YUV422P            = 0xe
        Format_YV12               = 0xf
        Format_UYVY               = 0x10
        Format_YUYV               = 0x11
        Format_NV12               = 0x12
        Format_NV21               = 0x13
        Format_IMC1               = 0x14
        Format_IMC2               = 0x15
        Format_IMC3               = 0x16
        Format_IMC4               = 0x17
        Format_Y8                 = 0x18
        Format_Y16                = 0x19
        Format_P010               = 0x1a
        Format_P016               = 0x1b
        Format_SamplerExternalOES = 0x1c
        Format_Jpeg               = 0x1d
        Format_SamplerRect        = 0x1e
        Format_YUV420P10          = 0x1f

    class YCbCrColorSpace(enum.Enum):

        YCbCr_Undefined           = 0x0
        YCbCr_BT601               = 0x1
        YCbCr_BT709               = 0x2
        YCbCr_xvYCC601            = 0x3
        YCbCr_xvYCC709            = 0x4
        YCbCr_JPEG                = 0x5
        YCbCr_BT2020              = 0x6


    def __repr__(self, /) -> str: ...


class QVideoFrameInput(PySide6.QtCore.QObject):

    readyToSendVideoFrame    : typing.ClassVar[Signal] = ... # readyToSendVideoFrame()


class QVideoSink(PySide6.QtCore.QObject):

    subtitleTextChanged      : typing.ClassVar[Signal] = ... # subtitleTextChanged(QString)
    videoFrameChanged        : typing.ClassVar[Signal] = ... # videoFrameChanged(QVideoFrame)
    videoSizeChanged         : typing.ClassVar[Signal] = ... # videoSizeChanged()


class QWaveDecoder(PySide6.QtCore.QIODevice):

    formatKnown              : typing.ClassVar[Signal] = ... # formatKnown()
    parsingError             : typing.ClassVar[Signal] = ... # parsingError()


class QWindowCapture(PySide6.QtCore.QObject):

    activeChanged            : typing.ClassVar[Signal] = ... # activeChanged(bool)
    errorChanged             : typing.ClassVar[Signal] = ... # errorChanged()
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QWindowCapture::Error,QString)
    windowChanged            : typing.ClassVar[Signal] = ... # windowChanged(QCapturableWindow)

    class Error(enum.Enum):

        NoError                   = 0x0
        InternalError             = 0x1
        CapturingNotSupported     = 0x2
        CaptureFailed             = 0x4
        NotFound                  = 0x5


class QtAudio(Shiboken.Object):

    class Error(enum.Enum):

        NoError                   = 0x0
        OpenError                 = 0x1
        IOError                   = 0x2
        UnderrunError             = 0x3
        FatalError                = 0x4

    class State(enum.Enum):

        ActiveState               = 0x0
        SuspendedState            = 0x1
        StoppedState              = 0x2
        IdleState                 = 0x3

    class VolumeScale(enum.Enum):

        LinearVolumeScale         = 0x0
        CubicVolumeScale          = 0x1
        LogarithmicVolumeScale    = 0x2
        DecibelVolumeScale        = 0x3


class QtVideo(Shiboken.Object):

    class Rotation(enum.Enum):

        None_                     = 0x0
        Clockwise90               = 0x5a
        Clockwise180              = 0xb4
        Clockwise270              = 0x10e


# eof
