import QtQuick.tooling 1.1

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable QtAV 1.7'

Module {
    dependencies: ["QtQuick 2.0"]
    Component {
        name: "MediaMetaData"
        prototype: "QObject"
        Enum {
            name: "Key"
            values: {
                "Title": 0,
                "SubTitle": 1,
                "Author": 2,
                "Comment": 3,
                "Description": 4,
                "Category": 5,
                "Genre": 6,
                "Year": 7,
                "Date": 8,
                "UserRating": 9,
                "Keywords": 10,
                "Language": 11,
                "Publisher": 12,
                "Copyright": 13,
                "ParentalRating": 14,
                "RatingOrganization": 15,
                "Size": 16,
                "MediaType": 17,
                "Duration": 18,
                "StartTime": 19,
                "AudioBitRate": 20,
                "AudioCodec": 21,
                "AverageLevel": 22,
                "ChannelCount": 23,
                "PeakValue": 24,
                "SampleRate": 25,
                "SampleFormat": 26,
                "ChannelLayout": 27,
                "AlbumTitle": 28,
                "AlbumArtist": 29,
                "ContributingArtist": 30,
                "Composer": 31,
                "Conductor": 32,
                "Lyrics": 33,
                "Mood": 34,
                "TrackNumber": 35,
                "TrackCount": 36,
                "CoverArtUrlSmall": 37,
                "CoverArtUrlLarge": 38,
                "Resolution": 39,
                "PixelAspectRatio": 40,
                "VideoFrameRate": 41,
                "VideoBitRate": 42,
                "VideoCodec": 43,
                "PixelFormat": 44,
                "VideoFrames": 45,
                "PosterUrl": 46,
                "ChapterNumber": 47,
                "Director": 48,
                "LeadPerformer": 49,
                "Writer": 50,
                "PosterImage": 51,
                "CoverArtImage": 52
            }
        }
        Property { name: "title"; type: "QVariant"; isReadonly: true }
        Property { name: "subTitle"; type: "QVariant"; isReadonly: true }
        Property { name: "author"; type: "QVariant"; isReadonly: true }
        Property { name: "comment"; type: "QVariant"; isReadonly: true }
        Property { name: "description"; type: "QVariant"; isReadonly: true }
        Property { name: "category"; type: "QVariant"; isReadonly: true }
        Property { name: "genre"; type: "QVariant"; isReadonly: true }
        Property { name: "year"; type: "QVariant"; isReadonly: true }
        Property { name: "date"; type: "QVariant"; isReadonly: true }
        Property { name: "userRating"; type: "QVariant"; isReadonly: true }
        Property { name: "keywords"; type: "QVariant"; isReadonly: true }
        Property { name: "language"; type: "QVariant"; isReadonly: true }
        Property { name: "publisher"; type: "QVariant"; isReadonly: true }
        Property { name: "copyright"; type: "QVariant"; isReadonly: true }
        Property { name: "parentalRating"; type: "QVariant"; isReadonly: true }
        Property { name: "ratingOrganization"; type: "QVariant"; isReadonly: true }
        Property { name: "size"; type: "QVariant"; isReadonly: true }
        Property { name: "mediaType"; type: "QVariant"; isReadonly: true }
        Property { name: "duration"; type: "QVariant"; isReadonly: true }
        Property { name: "startTime"; type: "QVariant"; isReadonly: true }
        Property { name: "audioBitRate"; type: "QVariant"; isReadonly: true }
        Property { name: "audioCodec"; type: "QVariant"; isReadonly: true }
        Property { name: "averageLevel"; type: "QVariant"; isReadonly: true }
        Property { name: "channelCount"; type: "QVariant"; isReadonly: true }
        Property { name: "channelLayout"; type: "QVariant"; isReadonly: true }
        Property { name: "peakValue"; type: "QVariant"; isReadonly: true }
        Property { name: "sampleFormat"; type: "QVariant"; isReadonly: true }
        Property { name: "sampleRate"; type: "QVariant"; isReadonly: true }
        Property { name: "albumTitle"; type: "QVariant"; isReadonly: true }
        Property { name: "albumArtist"; type: "QVariant"; isReadonly: true }
        Property { name: "contributingArtist"; type: "QVariant"; isReadonly: true }
        Property { name: "composer"; type: "QVariant"; isReadonly: true }
        Property { name: "conductor"; type: "QVariant"; isReadonly: true }
        Property { name: "lyrics"; type: "QVariant"; isReadonly: true }
        Property { name: "mood"; type: "QVariant"; isReadonly: true }
        Property { name: "trackNumber"; type: "QVariant"; isReadonly: true }
        Property { name: "trackCount"; type: "QVariant"; isReadonly: true }
        Property { name: "coverArtUrlSmall"; type: "QVariant"; isReadonly: true }
        Property { name: "coverArtUrlLarge"; type: "QVariant"; isReadonly: true }
        Property { name: "resolution"; type: "QVariant"; isReadonly: true }
        Property { name: "pixelAspectRatio"; type: "QVariant"; isReadonly: true }
        Property { name: "videoFrameRate"; type: "QVariant"; isReadonly: true }
        Property { name: "videoBitRate"; type: "QVariant"; isReadonly: true }
        Property { name: "videoCodec"; type: "QVariant"; isReadonly: true }
        Property { name: "pixelFormat"; type: "QVariant"; isReadonly: true }
        Property { name: "videoFrames"; type: "QVariant"; isReadonly: true }
        Property { name: "posterUrl"; type: "QVariant"; isReadonly: true }
        Property { name: "chapterNumber"; type: "QVariant"; isReadonly: true }
        Property { name: "director"; type: "QVariant"; isReadonly: true }
        Property { name: "leadPerformer"; type: "QVariant"; isReadonly: true }
        Property { name: "writer"; type: "QVariant"; isReadonly: true }
        Signal { name: "metaDataChanged" }
    }
    Component {
        name: "QQuickFramebufferObject"
        defaultProperty: "data"
        prototype: "QQuickItem"
        Property { name: "textureFollowsItemSize"; type: "bool" }
        Property { name: "mirrorVertically"; type: "bool" }
        Signal {
            name: "textureFollowsItemSizeChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "mirrorVerticallyChanged"
            Parameter { type: "bool" }
        }
    }
    Component {
        name: "QmlAVPlayer"
        prototype: "QObject"
        exports: ["QtAV/AVPlayer 1.3", "QtAV/MediaPlayer 1.3"]
        exportMetaObjectRevisions: [0, 0]
        Enum {
            name: "Loop"
            values: {
                "Infinite": -1
            }
        }
        Enum {
            name: "PositionValue"
            values: {
                "PositionMax": 2147483647
            }
        }
        Enum {
            name: "PlaybackState"
            values: {
                "StoppedState": 0,
                "PlayingState": 1,
                "PausedState": 2
            }
        }
        Enum {
            name: "Status"
            values: {
                "UnknownStatus": 0,
                "NoMedia": 1,
                "Loading": 2,
                "Loaded": 3,
                "Stalled": 4,
                "Buffering": 5,
                "Buffered": 6,
                "EndOfMedia": 7,
                "InvalidMedia": 8
            }
        }
        Enum {
            name: "Error"
            values: {
                "NoError": 0,
                "ResourceError": 1,
                "FormatError": 2,
                "NetworkError": 3,
                "AccessDenied": 4,
                "ServiceMissing": 5
            }
        }
        Enum {
            name: "MediaEndAction"
            values: {
                "MediaEndAction_Default": 0,
                "MediaEndAction_KeepDisplay": 1,
                "MediaEndAction_Pause": 2
            }
        }
        Enum {
            name: "ChannelLayout"
            values: {
                "ChannelLayoutAuto": 0,
                "Left": 1,
                "Right": 2,
                "Mono": 3,
                "Stereo": 4
            }
        }
        Property { name: "volume"; type: "double" }
        Property { name: "status"; type: "Status"; isReadonly: true }
        Property { name: "error"; type: "Error"; isReadonly: true }
        Property { name: "duration"; type: "int"; isReadonly: true }
        Property { name: "position"; type: "int"; isReadonly: true }
        Property { name: "muted"; type: "bool" }
        Property { name: "hasAudio"; type: "bool"; isReadonly: true }
        Property { name: "hasVideo"; type: "bool"; isReadonly: true }
        Property { name: "playbackState"; type: "PlaybackState"; isReadonly: true }
        Property { name: "autoPlay"; type: "bool" }
        Property { name: "autoLoad"; type: "bool" }
        Property { name: "mediaEndAction"; type: "MediaEndAction" }
        Property { name: "playbackRate"; type: "double" }
        Property { name: "source"; type: "QUrl" }
        Property { name: "loops"; type: "int" }
        Property { name: "bufferProgress"; type: "double"; isReadonly: true }
        Property { name: "seekable"; type: "bool"; isReadonly: true }
        Property { name: "metaData"; type: "MediaMetaData"; isReadonly: true; isPointer: true }
        Property { name: "mediaObject"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "errorString"; type: "string"; isReadonly: true }
        Property { name: "startPosition"; type: "int" }
        Property { name: "stopPosition"; type: "int" }
        Property { name: "fastSeek"; type: "bool" }
        Property { name: "timeout"; type: "int" }
        Property { name: "abortOnTimeout"; type: "bool" }
        Property { name: "channelLayout"; type: "ChannelLayout" }
        Property { name: "videoCodecs"; type: "QStringList"; isReadonly: true }
        Property { name: "videoCodecPriority"; type: "QStringList" }
        Property { name: "videoCodecOptions"; type: "QVariantMap" }
        Property { name: "avFormatOptions"; type: "QVariantMap" }
        Property { name: "useWallclockAsTimestamps"; type: "bool" }
        Property { name: "videoCapture"; type: "QtAV::VideoCapture"; isReadonly: true; isPointer: true }
        Property { name: "audioTrack"; type: "int" }
        Property { name: "bufferSize"; type: "int" }
        Property { name: "externalAudio"; type: "QUrl" }
        Property { name: "internalAudioTracks"; type: "QVariantList"; isReadonly: true }
        Property { name: "externalAudioTracks"; type: "QVariantList"; isReadonly: true }
        Property { name: "internalSubtitleTracks"; type: "QVariantList"; isReadonly: true }
        Property { name: "internalSubtitleTrack"; type: "int" }
        Property { name: "audioFilters"; type: "QuickAudioFilter"; isList: true; isReadonly: true }
        Property { name: "videoFilters"; type: "QuickVideoFilter"; isList: true; isReadonly: true }
        Property { name: "audioBackends"; type: "QStringList" }
        Property { name: "supportedAudioBackends"; type: "QStringList"; isReadonly: true }
        Signal { name: "loopCountChanged" }
        Signal { name: "videoOutChanged" }
        Signal { name: "paused" }
        Signal { name: "stopped" }
        Signal { name: "playing" }
        Signal { name: "seekFinished" }
        Signal {
            name: "error"
            Parameter { name: "error"; type: "Error" }
            Parameter { name: "errorString"; type: "string" }
        }
        Method { name: "play" }
        Method { name: "pause" }
        Method { name: "stop" }
        Method { name: "stepForward" }
        Method { name: "stepBackward" }
        Method {
            name: "seek"
            Parameter { name: "offset"; type: "int" }
        }
        Method { name: "seekForward" }
        Method { name: "seekBackward" }
        Method {
            name: "play"
            Parameter { name: "url"; type: "QUrl" }
        }
    }
    Component { name: "QtAV::AudioFilter"; prototype: "QtAV::Filter" }
    Component {
        name: "QtAV::DynamicShaderObject"
        prototype: "QtAV::VideoShaderObject"
        exports: ["QtAV/Shader 1.7"]
        exportMetaObjectRevisions: [0]
        Property { name: "header"; type: "string" }
        Property { name: "sample"; type: "string" }
        Property { name: "postProcess"; type: "string" }
    }
    Component {
        name: "QtAV::Filter"
        prototype: "QObject"
        Property { name: "enabled"; type: "bool" }
        Signal {
            name: "enabledChanged"
            Parameter { type: "bool" }
        }
        Method {
            name: "setEnabled"
            Parameter { name: "enabled"; type: "bool" }
        }
        Method { name: "setEnabled" }
    }
    Component {
        name: "QtAV::QQuickItemRenderer"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtAV/VideoOutput 1.3"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FillMode"
            values: {
                "Stretch": 0,
                "PreserveAspectFit": 1,
                "PreserveAspectCrop": 2
            }
        }
        Property { name: "opengl"; type: "bool" }
        Property { name: "source"; type: "QObject"; isPointer: true }
        Property { name: "fillMode"; type: "FillMode" }
        Property { name: "orientation"; type: "int" }
        Property { name: "contentRect"; type: "QRectF"; isReadonly: true }
        Property { name: "sourceRect"; type: "QRectF"; isReadonly: true }
        Property { name: "regionOfInterest"; type: "QRectF" }
        Property { name: "sourceAspectRatio"; type: "double"; isReadonly: true }
        Property { name: "videoFrameSize"; type: "QSize"; isReadonly: true }
        Property { name: "frameSize"; type: "QSize"; isReadonly: true }
        Property { name: "backgroundColor"; type: "QColor" }
        Property { name: "filters"; type: "QuickVideoFilter"; isList: true; isReadonly: true }
        Signal {
            name: "fillModeChanged"
            Parameter { type: "QQuickItemRenderer::FillMode" }
        }
        Signal { name: "openGLChanged" }
        Signal {
            name: "sourceAspectRatioChanged"
            Parameter { name: "value"; type: "double" }
        }
        Method {
            name: "mapPointToItem"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapRectToItem"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
        Method {
            name: "mapNormalizedPointToItem"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapNormalizedRectToItem"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
        Method {
            name: "mapPointToSource"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapRectToSource"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
        Method {
            name: "mapPointToSourceNormalized"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapRectToSourceNormalized"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
    }
    Component {
        name: "QtAV::QuickFBORenderer"
        defaultProperty: "data"
        prototype: "QQuickFramebufferObject"
        exports: ["QtAV/VideoOutput2 1.5"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FillMode"
            values: {
                "Stretch": 0,
                "PreserveAspectFit": 1,
                "PreserveAspectCrop": 2
            }
        }
        Property { name: "opengl"; type: "bool" }
        Property { name: "source"; type: "QObject"; isPointer: true }
        Property { name: "fillMode"; type: "FillMode" }
        Property { name: "orientation"; type: "int" }
        Property { name: "contentRect"; type: "QRectF"; isReadonly: true }
        Property { name: "sourceRect"; type: "QRectF"; isReadonly: true }
        Property { name: "regionOfInterest"; type: "QRectF" }
        Property { name: "sourceAspectRatio"; type: "double"; isReadonly: true }
        Property { name: "videoFrameSize"; type: "QSize"; isReadonly: true }
        Property { name: "frameSize"; type: "QSize"; isReadonly: true }
        Property { name: "backgroundColor"; type: "QColor" }
        Property { name: "filters"; type: "QuickVideoFilter"; isList: true; isReadonly: true }
        Property { name: "brightness"; type: "double" }
        Property { name: "contrast"; type: "double" }
        Property { name: "hue"; type: "double" }
        Property { name: "saturation"; type: "double" }
        Signal {
            name: "fillModeChanged"
            Parameter { type: "QuickFBORenderer::FillMode" }
        }
        Signal { name: "openGLChanged" }
        Signal {
            name: "sourceAspectRatioChanged"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "brightnessChanged"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "contrastChanged"
            Parameter { type: "double" }
        }
        Signal {
            name: "hueChanged"
            Parameter { type: "double" }
        }
        Signal {
            name: "saturationChanged"
            Parameter { type: "double" }
        }
        Method {
            name: "mapPointToItem"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapRectToItem"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
        Method {
            name: "mapNormalizedPointToItem"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapNormalizedRectToItem"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
        Method {
            name: "mapPointToSource"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapRectToSource"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
        Method {
            name: "mapPointToSourceNormalized"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapRectToSourceNormalized"
            type: "QRectF"
            Parameter { name: "rectangle"; type: "QRectF" }
        }
    }
    Component {
        name: "QtAV::QuickVideoPreview"
        defaultProperty: "data"
        prototype: "QtAV::QuickFBORenderer"
        exports: ["QtAV/VideoPreview 1.4"]
        exportMetaObjectRevisions: [0]
        Property { name: "timestamp"; type: "int" }
        Property { name: "file"; type: "QUrl" }
    }
    Component {
        name: "QtAV::VideoCapture"
        prototype: "QObject"
        exports: ["QtAV/VideoCapture 1.6"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "async"; type: "bool" }
        Property { name: "autoSave"; type: "bool" }
        Property { name: "originalFormat"; type: "bool" }
        Property { name: "saveFormat"; type: "string" }
        Property { name: "quality"; type: "int" }
        Property { name: "captureName"; type: "string" }
        Property { name: "captureDir"; type: "string" }
        Signal { name: "requested" }
        Signal {
            name: "frameAvailable"
            Parameter { name: "frame"; type: "QtAV::VideoFrame" }
        }
        Signal {
            name: "imageCaptured"
            Parameter { name: "image"; type: "QImage" }
        }
        Signal { name: "failed" }
        Signal {
            name: "saved"
            Parameter { name: "path"; type: "string" }
        }
        Method { name: "capture" }
    }
    Component { name: "QtAV::VideoFilter"; prototype: "QtAV::Filter" }
    Component { name: "QtAV::VideoShaderObject"; prototype: "QObject" }
    Component {
        name: "QuickAudioFilter"
        prototype: "QtAV::AudioFilter"
        exports: ["QtAV/AudioFilter 1.7"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FilterType"
            values: {
                "AVFilter": 0,
                "UserFilter": 1
            }
        }
        Property { name: "avfilter"; type: "string" }
        Property { name: "supportedAVFilters"; type: "QStringList"; isReadonly: true }
        Property { name: "userFilter"; type: "AudioFilter"; isPointer: true }
        Property { name: "type"; type: "FilterType" }
    }
    Component {
        name: "QuickSubtitle"
        prototype: "QObject"
        exports: ["QtAV/Subtitle 1.4"]
        exportMetaObjectRevisions: [0]
        Property { name: "enabled"; type: "bool" }
        Property { name: "player"; type: "QObject"; isPointer: true }
        Property { name: "codec"; type: "QByteArray" }
        Property { name: "engines"; type: "QStringList" }
        Property { name: "engine"; type: "string"; isReadonly: true }
        Property { name: "fuzzyMatch"; type: "bool" }
        Property { name: "dirs"; type: "QStringList" }
        Property { name: "suffixes"; type: "QStringList" }
        Property { name: "supportedSuffixes"; type: "QStringList"; isReadonly: true }
        Property { name: "delay"; type: "double" }
        Property { name: "canRender"; type: "bool"; isReadonly: true }
        Property { name: "autoLoad"; type: "bool" }
        Property { name: "file"; type: "string" }
        Property { name: "text"; type: "string"; isReadonly: true }
        Property { name: "fontFile"; type: "string" }
        Property { name: "fontsDir"; type: "string" }
        Property { name: "fontFileForced"; type: "bool" }
        Signal {
            name: "loaded"
            Parameter { name: "path"; type: "string" }
        }
        Signal {
            name: "enabledChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal { name: "contentChanged" }
        Method {
            name: "setAutoLoad"
            Parameter { name: "value"; type: "bool" }
        }
        Method { name: "getText"; type: "string" }
    }
    Component {
        name: "QuickSubtitleItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtAV/SubtitleItem 1.4"]
        exportMetaObjectRevisions: [0]
        Property { name: "source"; type: "QuickSubtitle"; isPointer: true }
        Property { name: "fillMode"; type: "int" }
    }
    Component {
        name: "QuickVideoFilter"
        prototype: "QtAV::VideoFilter"
        exports: ["QtAV/VideoFilter 1.7"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FilterType"
            values: {
                "AVFilter": 0,
                "GLSLFilter": 1,
                "UserFilter": 2
            }
        }
        Property { name: "avfilter"; type: "string" }
        Property { name: "supportedAVFilters"; type: "QStringList"; isReadonly: true }
        Property { name: "userFilter"; type: "VideoFilter"; isPointer: true }
        Property { name: "shader"; type: "QtAV::DynamicShaderObject"; isPointer: true }
        Property { name: "type"; type: "FilterType" }
    }
}
