This file is indexed.

/usr/lib/x86_64-linux-gnu/qt5/qml/QtAV/plugins.qmltypes is in qml-module-qtav 1.12.0+ds-4build3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
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: "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: "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" }
    }
}