mirror of
https://github.com/wang-bin/QtAV.git
synced 2026-10-17 04:31:08 +08:00
1f53443c8f
Changelog - Improve seek speed, fix drop too much frames after seek - VideoFrameExtractor: seek faster if called many times. Speed up progress bar preview - Support media files from android assets. Use protocol 'assets:' - Apply video decoder options when playing - Better iOS support - VideoToolbox: * Check profile to avoid crash * Support RGB output * Use `rgb422_apple` texture * Support iOS 0-copy rendering using OpenGLES * More interop types for OSX and iOS - OpenGL * Use 16bit depth textures for >8bit videos (e.g. 10bit) if possible * Correct input/output color range. This fixes QtAV video different from other players * Fix high opengl and core profile rendering * Better EGL detection - VO: * Simplify signal emitting * Support background color, simplify background painting * VideoOutput delete crash, resize issues * Improve performance of QPainter based renderers - AudioOutput: * remove setBufferSize, add a better API setBufferSamples * Add flush(), clear(). Not implemented for backends. * Fix OpenAL playback for some audio formats * Dynamic load OpenAL by default except iOS * Add AudioToolbox support for OSX/iOS and becomes the default backend * PulseAudio: workaround noise for multiple instance - Subtitle: * Support ass font files in android assets * Fix srt decoding - QML: * Add QtMultimedia compatible APIs VideoOutput.contentRect/sourceRect - Simplify SurfaceType - Fix strange behaviors near eof: seek, stepForward, exit etc. - Fix playback block if audio duration is shorter than video - VideoFrame constructed from QImage takes image's ownership - Add VideoFrame.colorRange, AudioFrame.duration - encoder: support start time - Add AVPlayer.bufferSpeed, seekFinished(qint64) - Fix abort when loading - Examples: * Fix videos in videowall not synchronized * QMLPlayer has better touch screen experience * QMLPlayer supports win10 store (But Qt is not well supported) * Drag & Drop support on OSX * URL open dialog for QMLPlayer
404 lines
17 KiB
Plaintext
404 lines
17 KiB
Plaintext
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.6'
|
|
|
|
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" }
|
|
Signal {
|
|
name: "textureFollowsItemSizeChanged"
|
|
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: "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: "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: "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: "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: "useWallclockAsTimestamps"; type: "bool" }
|
|
Property { name: "videoCapture"; type: "QtAV::VideoCapture"; isReadonly: true; isPointer: true }
|
|
Property { name: "audioTrack"; 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" }
|
|
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::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: "frameSize"; type: "QSize"; isReadonly: true }
|
|
Property { name: "backgroundColor"; type: "QColor" }
|
|
Signal {
|
|
name: "fillModeChanged"
|
|
Parameter { type: "QQuickItemRenderer::FillMode" }
|
|
}
|
|
Signal { name: "openGLChanged" }
|
|
Signal {
|
|
name: "sourceAspectRatioChanged"
|
|
Parameter { name: "value"; type: "double" }
|
|
}
|
|
}
|
|
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: "frameSize"; type: "QSize"; isReadonly: true }
|
|
Property { name: "backgroundColor"; type: "QColor" }
|
|
Signal {
|
|
name: "fillModeChanged"
|
|
Parameter { type: "QuickFBORenderer::FillMode" }
|
|
}
|
|
Signal { name: "openGLChanged" }
|
|
Signal {
|
|
name: "sourceAspectRatioChanged"
|
|
Parameter { name: "value"; type: "double" }
|
|
}
|
|
}
|
|
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" }
|
|
Method { name: "request" }
|
|
}
|
|
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" }
|
|
}
|
|
}
|