summaryrefslogtreecommitdiff
path: root/recipes/gst-plugins-bad-1.0.recipe
blob: 7f4a06f33d46f364ab3e487f6336e95265dce4f2 (plain)
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
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
from cerbero.tools.libtool import LibtoolLibrary

class Recipe(custom.GStreamer):
    name = 'gst-plugins-bad-1.0'
    btype = BuildType.MESON
    tarball_checksum = '56481c95339b8985af13bac19b18bc8da7118c2a7d9440ed70e7dcd799c2adb5'
    # Explicitly enable plugins that we provide dependencies for to ensure that
    # we error out if they weren't found.
    meson_options = {# enabled plugins
                     'assrender': 'enabled',
                     'bz2': 'enabled',
                     'closedcaption': 'enabled',
                     'decklink': 'enabled',
                     'dtls': 'enabled',
                     'dts': 'enabled',
                     'hls': 'enabled',
                     'kate': 'enabled',
                     'libmms': 'enabled',
                     'openh264': 'enabled',
                     'openjpeg': 'enabled',
                     'opus': 'enabled',
                     'rtmp': 'enabled',
                     'sbc': 'enabled',
                     'sctp': 'enabled',
                     'soundtouch': 'enabled',
                     'srt': 'enabled',
                     'spandsp': 'enabled',
                     'srtp': 'enabled',
                     'resindvd': 'enabled',
                     'rsvg': 'enabled',
                     'voaacenc': 'enabled',
                     'webrtc': 'enabled',
                     'webrtcdsp': 'enabled',
                     # disabled plugins
                     'curl': 'disabled',
                     'curl-ssh2': 'disabled',
                     'dc1394': 'disabled',
                     'directfb': 'disabled',
                     'faac': 'disabled',
                     'faad': 'disabled',
                     'fbdev': 'disabled',
                     'festival': 'disabled',
                     'flite': 'disabled',
                     'gme': 'disabled',
                     'gsm': 'disabled',
                     'libde265': 'disabled',
                     'lv2': 'disabled',
                     'modplug': 'disabled',
                     'mpeg2enc': 'disabled',
                     'mplex': 'disabled',
                     'musepack': 'disabled',
                     'neon': 'disabled',
                     'ofa': 'disabled',
                     'openal': 'disabled',
                     'opencv': 'disabled',
                     'sndfile': 'disabled',
                     'teletext': 'disabled',
                     'vdpau': 'disabled',
                     'voamrwbenc': 'disabled',
                     'wildmidi': 'disabled',
                     'zbar': 'disabled',
                    }
    deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'bzip2', 'libass',
            'libkate', 'zlib', 'openh264', 'opus', 'nettle', 'librtmp',
            'libsrtp', 'libdca', 'libmms', 'libdvdnav', 'libnice',
            'soundtouch', 'vo-aacenc', 'librsvg', 'openjpeg', 'openssl',
            'pango', 'spandsp', 'webrtc-audio-processing', 'sbc', 'ladspa',
            'srt', 'libusrsctp']
    use_system_libs = True

    files_lang = ['gst-plugins-bad-1.0']

    files_libs = ['libgstcodecparsers-1.0', 'libgstmpegts-1.0', 'libgsturidownloader-1.0',
                  'libgstbasecamerabinsrc-1.0', 'libgstphotography-1.0',
                  'libgstinsertbin-1.0', 'libgstadaptivedemux-1.0',
                  'libgstplayer-1.0', 'libgstbadaudio-1.0',
                  'libgstisoff-1.0', 'libgstsctp-1.0', 'libgstwebrtc-1.0']

    files_plugins_devel = [
        'include/gstreamer-1.0/gst/mpegts',
        'include/gstreamer-1.0/gst/player',
        'include/gstreamer-1.0/gst/base',
        'include/gstreamer-1.0/gst/audio',
        'include/gstreamer-1.0/gst/basecamerabinsrc',
        'include/gstreamer-1.0/gst/codecparsers',
        'include/gstreamer-1.0/gst/insertbin',
        'include/gstreamer-1.0/gst/interfaces',
        'include/gstreamer-1.0/gst/isoff',
        'include/gstreamer-1.0/gst/sctp',
        'include/gstreamer-1.0/gst/webrtc',
        'lib/pkgconfig/gstreamer-plugins-bad-1.0.pc',
        'lib/pkgconfig/gstreamer-mpegts-1.0.pc',
        'lib/pkgconfig/gstreamer-player-1.0.pc',
        'lib/pkgconfig/gstreamer-bad-audio-1.0.pc',
        'lib/pkgconfig/gstreamer-codecparsers-1.0.pc',
        'lib/pkgconfig/gstreamer-insertbin-1.0.pc',
        'lib/pkgconfig/gstreamer-sctp-1.0.pc',
        'lib/pkgconfig/gstreamer-webrtc-1.0.pc'
    ]

    files_plugins_effects = [
             'lib/gstreamer-1.0/libgstaccurip%(mext)s',
             'lib/gstreamer-1.0/libgstaiff%(mext)s',
             'lib/gstreamer-1.0/libgstaudiobuffersplit%(mext)s',
             'lib/gstreamer-1.0/libgstaudiofxbad%(mext)s',
             'lib/gstreamer-1.0/libgstaudiolatency%(mext)s',
             'lib/gstreamer-1.0/libgstaudiomixmatrix%(mext)s',
             'lib/gstreamer-1.0/libgstautoconvert%(mext)s',
             'lib/gstreamer-1.0/libgstbayer%(mext)s',
             'lib/gstreamer-1.0/libgstcoloreffects%(mext)s',
             'lib/gstreamer-1.0/libgstclosedcaption%(mext)s',
             'lib/gstreamer-1.0/libgstdebugutilsbad%(mext)s',
             'lib/gstreamer-1.0/libgstfieldanalysis%(mext)s',
             'lib/gstreamer-1.0/libgstfreeverb%(mext)s',
             'lib/gstreamer-1.0/libgstfrei0r%(mext)s',
             'lib/gstreamer-1.0/libgstgaudieffects%(mext)s',
             'lib/gstreamer-1.0/libgstgeometrictransform%(mext)s',
             'lib/gstreamer-1.0/libgstinter%(mext)s',
             'lib/gstreamer-1.0/libgstinterlace%(mext)s',
             'lib/gstreamer-1.0/libgstivtc%(mext)s',
             'lib/gstreamer-1.0/libgstlegacyrawparse%(mext)s',
             'lib/gstreamer-1.0/libgstproxy%(mext)s',
             'lib/gstreamer-1.0/libgstremovesilence%(mext)s',
             'lib/gstreamer-1.0/libgstsegmentclip%(mext)s',
             'lib/gstreamer-1.0/libgstsmooth%(mext)s',
             'lib/gstreamer-1.0/libgstspeed%(mext)s',
             'lib/gstreamer-1.0/libgstsoundtouch%(mext)s',
             'lib/gstreamer-1.0/libgsttimecode%(mext)s',
             'lib/gstreamer-1.0/libgstvideofiltersbad%(mext)s',
             'lib/gstreamer-1.0/libgstvideoframe_audiolevel%(mext)s',
             'lib/gstreamer-1.0/libgstwebrtcdsp%(mext)s',
             'lib/gstreamer-1.0/libgstladspa%(mext)s',
    ]

    files_plugins_effects_devel = [
             'lib/gstreamer-1.0/libgstaccurip.a', 'lib/gstreamer-1.0/libgstaccurip.la',
             'lib/gstreamer-1.0/libgstaiff.a', 'lib/gstreamer-1.0/libgstaiff.la',
             'lib/gstreamer-1.0/libgstaudiobuffersplit.a', 'lib/gstreamer-1.0/libgstaudiobuffersplit.la',
             'lib/gstreamer-1.0/libgstaudiofxbad.a', 'lib/gstreamer-1.0/libgstaudiofxbad.la',
             'lib/gstreamer-1.0/libgstaudiolatency.a', 'lib/gstreamer-1.0/libgstaudiolatency.la',
             'lib/gstreamer-1.0/libgstaudiomixmatrix.a', 'lib/gstreamer-1.0/libgstaudiomixmatrix.la',
             'lib/gstreamer-1.0/libgstautoconvert.a', 'lib/gstreamer-1.0/libgstautoconvert.la',
             'lib/gstreamer-1.0/libgstbayer.a', 'lib/gstreamer-1.0/libgstbayer.la',
             'lib/gstreamer-1.0/libgstcoloreffects.a', 'lib/gstreamer-1.0/libgstcoloreffects.la',
             'lib/gstreamer-1.0/libgstclosedcaption.a', 'lib/gstreamer-1.0/libgstclosedcaption.la',
             'lib/gstreamer-1.0/libgstdebugutilsbad.a', 'lib/gstreamer-1.0/libgstdebugutilsbad.la',
             'lib/gstreamer-1.0/libgstfieldanalysis.a', 'lib/gstreamer-1.0/libgstfieldanalysis.la',
             'lib/gstreamer-1.0/libgstfreeverb.a', 'lib/gstreamer-1.0/libgstfreeverb.la',
             'lib/gstreamer-1.0/libgstfrei0r.a', 'lib/gstreamer-1.0/libgstfrei0r.la',
             'lib/gstreamer-1.0/libgstgaudieffects.a', 'lib/gstreamer-1.0/libgstgaudieffects.la',
             'lib/gstreamer-1.0/libgstgeometrictransform.a', 'lib/gstreamer-1.0/libgstgeometrictransform.la',
             'lib/gstreamer-1.0/libgstinter.a', 'lib/gstreamer-1.0/libgstinter.la',
             'lib/gstreamer-1.0/libgstinterlace.a', 'lib/gstreamer-1.0/libgstinterlace.la',
             'lib/gstreamer-1.0/libgstivtc.a', 'lib/gstreamer-1.0/libgstivtc.la',
             'lib/gstreamer-1.0/libgstlegacyrawparse.a', 'lib/gstreamer-1.0/libgstlegacyrawparse.la',
             'lib/gstreamer-1.0/libgstproxy.a', 'lib/gstreamer-1.0/libgstproxy.la',
             'lib/gstreamer-1.0/libgstremovesilence.a', 'lib/gstreamer-1.0/libgstremovesilence.la',
             'lib/gstreamer-1.0/libgstsegmentclip.a', 'lib/gstreamer-1.0/libgstsegmentclip.la',
             'lib/gstreamer-1.0/libgstsmooth.a', 'lib/gstreamer-1.0/libgstsmooth.la',
             'lib/gstreamer-1.0/libgstspeed.a', 'lib/gstreamer-1.0/libgstspeed.la',
             'lib/gstreamer-1.0/libgstsoundtouch.a', 'lib/gstreamer-1.0/libgstsoundtouch.la',
             'lib/gstreamer-1.0/libgsttimecode.a', 'lib/gstreamer-1.0/libgsttimecode.la',
             'lib/gstreamer-1.0/libgstvideofiltersbad.a', 'lib/gstreamer-1.0/libgstvideofiltersbad.la',
             'lib/gstreamer-1.0/libgstvideoframe_audiolevel.a', 'lib/gstreamer-1.0/libgstvideoframe_audiolevel.la',
             'lib/gstreamer-1.0/libgstwebrtcdsp.a', 'lib/gstreamer-1.0/libgstwebrtcdsp.la',
             'lib/gstreamer-1.0/libgstladspa.a', 'lib/gstreamer-1.0/libgstladspa.la',
    ]

    files_plugins_codecs = [
             'lib/gstreamer-1.0/libgstadpcmdec%(mext)s',
             'lib/gstreamer-1.0/libgstadpcmenc%(mext)s',
             'lib/gstreamer-1.0/libgstbz2%(mext)s',
             'lib/gstreamer-1.0/libgstdashdemux%(mext)s',
             'lib/gstreamer-1.0/libgstdvbsuboverlay%(mext)s',
             'lib/gstreamer-1.0/libgstdvdspu%(mext)s',
             'lib/gstreamer-1.0/libgsthls%(mext)s',
             'lib/gstreamer-1.0/libgstid3tag%(mext)s',
             'lib/gstreamer-1.0/libgstkate%(mext)s',
             'lib/gstreamer-1.0/libgstmidi%(mext)s',
             'lib/gstreamer-1.0/libgstmxf%(mext)s',
             'lib/gstreamer-1.0/libgstopenh264%(mext)s',
             'lib/gstreamer-1.0/libgstopusparse%(mext)s',
             'lib/gstreamer-1.0/libgstpcapparse%(mext)s',
             'lib/gstreamer-1.0/libgstpnm%(mext)s',
             'lib/gstreamer-1.0/libgstrfbsrc%(mext)s',
             'lib/gstreamer-1.0/libgstsiren%(mext)s',
             'lib/gstreamer-1.0/libgstsmoothstreaming%(mext)s',
             'lib/gstreamer-1.0/libgstsubenc%(mext)s',
             'lib/gstreamer-1.0/libgstvideoparsersbad%(mext)s',
             'lib/gstreamer-1.0/libgsty4mdec%(mext)s',
             'lib/gstreamer-1.0/libgstjpegformat%(mext)s',
             'lib/gstreamer-1.0/libgstgdp%(mext)s',
             'lib/gstreamer-1.0/libgstrsvg%(mext)s',
             'lib/gstreamer-1.0/libgstopenjpeg%(mext)s',
             'lib/gstreamer-1.0/libgstspandsp%(mext)s',
             'lib/gstreamer-1.0/libgstsbc%(mext)s',
    ]

    files_plugins_codecs_devel = [
             'lib/gstreamer-1.0/libgstadpcmdec.a', 'lib/gstreamer-1.0/libgstadpcmdec.la',
             'lib/gstreamer-1.0/libgstadpcmenc.a', 'lib/gstreamer-1.0/libgstadpcmenc.la',
             'lib/gstreamer-1.0/libgstbz2.a', 'lib/gstreamer-1.0/libgstbz2.la',
             'lib/gstreamer-1.0/libgstdashdemux.a', 'lib/gstreamer-1.0/libgstdashdemux.la',
             'lib/gstreamer-1.0/libgstdvbsuboverlay.a', 'lib/gstreamer-1.0/libgstdvbsuboverlay.la',
             'lib/gstreamer-1.0/libgstdvdspu.a', 'lib/gstreamer-1.0/libgstdvdspu.la',
             'lib/gstreamer-1.0/libgsthls.a', 'lib/gstreamer-1.0/libgsthls.la',
             'lib/gstreamer-1.0/libgstid3tag.a', 'lib/gstreamer-1.0/libgstid3tag.la',
             'lib/gstreamer-1.0/libgstkate.a', 'lib/gstreamer-1.0/libgstkate.la',
             'lib/gstreamer-1.0/libgstmidi.a', 'lib/gstreamer-1.0/libgstmidi.la',
             'lib/gstreamer-1.0/libgstmxf.a', 'lib/gstreamer-1.0/libgstmxf.la',
             'lib/gstreamer-1.0/libgstopenh264.a', 'lib/gstreamer-1.0/libgstopenh264.la',
             'lib/gstreamer-1.0/libgstopusparse.a', 'lib/gstreamer-1.0/libgstopusparse.la',
             'lib/gstreamer-1.0/libgstpcapparse.a', 'lib/gstreamer-1.0/libgstpcapparse.la',
             'lib/gstreamer-1.0/libgstpnm.a', 'lib/gstreamer-1.0/libgstpnm.la',
             'lib/gstreamer-1.0/libgstrfbsrc.a', 'lib/gstreamer-1.0/libgstrfbsrc.la',
             'lib/gstreamer-1.0/libgstsiren.a', 'lib/gstreamer-1.0/libgstsiren.la',
             'lib/gstreamer-1.0/libgstsmoothstreaming.a', 'lib/gstreamer-1.0/libgstsmoothstreaming.la',
             'lib/gstreamer-1.0/libgstsubenc.a', 'lib/gstreamer-1.0/libgstsubenc.la',
             'lib/gstreamer-1.0/libgstvideoparsersbad.a', 'lib/gstreamer-1.0/libgstvideoparsersbad.la',
             'lib/gstreamer-1.0/libgsty4mdec.a', 'lib/gstreamer-1.0/libgsty4mdec.la',
             'lib/gstreamer-1.0/libgstjpegformat.a', 'lib/gstreamer-1.0/libgstjpegformat.la',
             'lib/gstreamer-1.0/libgstgdp.a', 'lib/gstreamer-1.0/libgstgdp.la',
             'lib/gstreamer-1.0/libgstrsvg.a', 'lib/gstreamer-1.0/libgstrsvg.la',
             'lib/gstreamer-1.0/libgstopenjpeg.a', 'lib/gstreamer-1.0/libgstopenjpeg.la',
             'lib/gstreamer-1.0/libgstspandsp.a', 'lib/gstreamer-1.0/libgstspandsp.la',
             'lib/gstreamer-1.0/libgstsbc.a', 'lib/gstreamer-1.0/libgstsbc.la',
    ]

    platform_files_plugins_codecs = {
        Platform.ANDROID: [
             'lib/gstreamer-1.0/libgstandroidmedia%(mext)s',
            ]
    }

    platform_files_plugins_codecs_devel = {
        Platform.ANDROID: [
             'lib/gstreamer-1.0/libgstandroidmedia.a', 'lib/gstreamer-1.0/libgstandroidmedia.la',
            ]
    }

    files_plugins_codecs_gpl = [
             'lib/gstreamer-1.0/libgstassrender%(mext)s',
    ]

    files_plugins_codecs_gpl_devel = [
             'lib/gstreamer-1.0/libgstassrender.a', 'lib/gstreamer-1.0/libgstassrender.la',
    ]

    files_plugins_codecs_restricted = [
             'lib/gstreamer-1.0/libgstasfmux%(mext)s',
             'lib/gstreamer-1.0/libgstdtsdec%(mext)s',
             'lib/gstreamer-1.0/libgstmpegpsdemux%(mext)s',
             'lib/gstreamer-1.0/libgstmpegpsmux%(mext)s',
             'lib/gstreamer-1.0/libgstmpegtsdemux%(mext)s',
             'lib/gstreamer-1.0/libgstmpegtsmux%(mext)s',
             'lib/gstreamer-1.0/libgstvoaacenc%(mext)s'
    ]

    files_plugins_codecs_restricted_devel = [
             'lib/gstreamer-1.0/libgstasfmux.a', 'lib/gstreamer-1.0/libgstasfmux.la',
             'lib/gstreamer-1.0/libgstdtsdec.a', 'lib/gstreamer-1.0/libgstdtsdec.la',
             'lib/gstreamer-1.0/libgstmpegpsdemux.a', 'lib/gstreamer-1.0/libgstmpegpsdemux.la',
             'lib/gstreamer-1.0/libgstmpegpsmux.a', 'lib/gstreamer-1.0/libgstmpegpsmux.la',
             'lib/gstreamer-1.0/libgstmpegtsdemux.a', 'lib/gstreamer-1.0/libgstmpegtsdemux.la',
             'lib/gstreamer-1.0/libgstmpegtsmux.a', 'lib/gstreamer-1.0/libgstmpegtsmux.la',
             'lib/gstreamer-1.0/libgstvoaacenc.a', 'lib/gstreamer-1.0/libgstvoaacenc.la',
    ]

    files_plugins_dvd = [
             'lib/gstreamer-1.0/libgstresindvd%(mext)s',
    ]

    files_plugins_dvd_devel = [
             'lib/gstreamer-1.0/libgstresindvd.a', 'lib/gstreamer-1.0/libgstresindvd.la',
    ]

    files_plugins_net = [
             'lib/gstreamer-1.0/libgstdtls%(mext)s',
             'lib/gstreamer-1.0/libgstnetsim%(mext)s',
             'lib/gstreamer-1.0/libgstsctp%(mext)s',
             'lib/gstreamer-1.0/libgstsdpelem%(mext)s',
             'lib/gstreamer-1.0/libgstsrtp%(mext)s',
             'lib/gstreamer-1.0/libgstsrt%(mext)s',
             'lib/gstreamer-1.0/libgstwebrtc%(mext)s',
    ]

    files_plugins_net_devel = [
             'lib/gstreamer-1.0/libgstdtls.a', 'lib/gstreamer-1.0/libgstdtls.la',
             'lib/gstreamer-1.0/libgstnetsim.a', 'lib/gstreamer-1.0/libgstnetsim.la',
             'lib/gstreamer-1.0/libgstsctp.a', 'lib/gstreamer-1.0/libgstsctp.la',
             'lib/gstreamer-1.0/libgstsdpelem.a', 'lib/gstreamer-1.0/libgstsdpelem.la',
             'lib/gstreamer-1.0/libgstsrtp.a', 'lib/gstreamer-1.0/libgstsrtp.la',
             'lib/gstreamer-1.0/libgstsrt.a', 'lib/gstreamer-1.0/libgstsrt.la',
             'lib/gstreamer-1.0/libgstwebrtc.a', 'lib/gstreamer-1.0/libgstwebrtc.la',
    ]

    files_plugins_net_restricted = [
             'lib/gstreamer-1.0/libgstmms%(mext)s',
             'lib/gstreamer-1.0/libgstrtmp%(mext)s',
    ]

    files_plugins_net_restricted_devel = [
             'lib/gstreamer-1.0/libgstmms.a', 'lib/gstreamer-1.0/libgstmms.la',
             'lib/gstreamer-1.0/libgstrtmp.a', 'lib/gstreamer-1.0/libgstrtmp.la',
    ]

    files_plugins_capture = [
             'lib/gstreamer-1.0/libgstcamerabin%(mext)s'
    ]

    files_plugins_capture_devel = [
             'lib/gstreamer-1.0/libgstcamerabin.a', 'lib/gstreamer-1.0/libgstcamerabin.la',
    ]

    platform_files_plugins_capture = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstdvb%(mext)s',
            ],
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstwinscreencap%(mext)s',
             'lib/gstreamer-1.0/libgstdirectsoundsrc%(mext)s',
             'lib/gstreamer-1.0/libgstwinks%(mext)s',
            ]
    }

    platform_files_plugins_capture_devel = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstdvb.a', 'lib/gstreamer-1.0/libgstdvb.la',
            ],
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstwinscreencap.a', 'lib/gstreamer-1.0/libgstwinscreencap.la',
             'lib/gstreamer-1.0/libgstdirectsoundsrc.a', 'lib/gstreamer-1.0/libgstdirectsoundsrc.la',
             'lib/gstreamer-1.0/libgstwinks.a', 'lib/gstreamer-1.0/libgstwinks.la',
            ]
    }

    files_plugins_sys = []

    files_plugins_sys_devel = []

    files_plugins_vis = [
             'lib/gstreamer-1.0/libgstaudiovisualizers%(mext)s',
    ]

    files_plugins_vis_devel = [
             'lib/gstreamer-1.0/libgstaudiovisualizers.a', 'lib/gstreamer-1.0/libgstaudiovisualizers.la',
    ]

    platform_files_plugins_sys = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstshm%(mext)s',
             'lib/gstreamer-1.0/libgstdecklink%(mext)s',
             'lib/gstreamer-1.0/libgstipcpipeline%(mext)s',
            ],
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstd3d%(mext)s',
             'lib/gstreamer-1.0/libgstwasapi%(mext)s',
             'lib/gstreamer-1.0/libgstdecklink%(mext)s',
            ],
        Platform.DARWIN: [
             'lib/gstreamer-1.0/libgstapplemedia%(mext)s',
             'lib/gstreamer-1.0/libgstshm%(mext)s',
             'lib/gstreamer-1.0/libgstdecklink%(mext)s',
             'lib/gstreamer-1.0/libgstipcpipeline%(mext)s',
            ],
        Platform.IOS: [
             'lib/gstreamer-1.0/libgstapplemedia%(mext)s',
             'lib/gstreamer-1.0/libgstshm%(mext)s',
             'lib/gstreamer-1.0/libgstipcpipeline%(mext)s',
            ],
        Platform.ANDROID: [
             'lib/gstreamer-1.0/libgstopensles%(mext)s',
             'lib/gstreamer-1.0/libgstipcpipeline%(mext)s',
            ]
    }

    platform_files_plugins_sys_devel = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstshm.a', 'lib/gstreamer-1.0/libgstshm.la',
             'lib/gstreamer-1.0/libgstdecklink.a', 'lib/gstreamer-1.0/libgstdecklink.la',
             'lib/gstreamer-1.0/libgstipcpipeline.a', 'lib/gstreamer-1.0/libgstipcpipeline.la',
            ],
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstd3d.a', 'lib/gstreamer-1.0/libgstd3d.la',
             'lib/gstreamer-1.0/libgstwasapi.a', 'lib/gstreamer-1.0/libgstwasapi.la',
             'lib/gstreamer-1.0/libgstdecklink.a', 'lib/gstreamer-1.0/libgstdecklink.la',
            ],
        Platform.DARWIN: [
             'lib/gstreamer-1.0/libgstapplemedia.a', 'lib/gstreamer-1.0/libgstapplemedia.la',
             'lib/gstreamer-1.0/libgstshm.a', 'lib/gstreamer-1.0/libgstshm.la',
             'lib/gstreamer-1.0/libgstdecklink.a', 'lib/gstreamer-1.0/libgstdecklink.la',
             'lib/gstreamer-1.0/libgstipcpipeline.a', 'lib/gstreamer-1.0/libgstipcpipeline.la',
            ],
        Platform.IOS: [
             'lib/gstreamer-1.0/libgstapplemedia.a', 'lib/gstreamer-1.0/libgstapplemedia.la',
             'lib/gstreamer-1.0/libgstshm.a', 'lib/gstreamer-1.0/libgstshm.la',
             'lib/gstreamer-1.0/libgstipcpipeline.a', 'lib/gstreamer-1.0/libgstipcpipeline.la',
            ],
        Platform.ANDROID: [
             'lib/gstreamer-1.0/libgstopensles.a', 'lib/gstreamer-1.0/libgstopensles.la',
             'lib/gstreamer-1.0/libgstipcpipeline.a', 'lib/gstreamer-1.0/libgstipcpipeline.la',
            ]
    }

    files_typelibs = [
        'GstInsertBin-1.0',
        'GstMpegts-1.0',
        'GstPlayer-1.0'
        ]

    platform_files_codecs_devel = {
        Platform.ANDROID: [
              'share/gst-android/ndk-build',
            ]
    }

    def prepare(self):
        if self.using_msvc():
            # plugin is C++, library is Autotools
            self.disable_plugin('soundtouch', 'effects', dep='soundtouch')
            # Plugin is C++ and hence webrtc-audio-processing must also be
            # built with MSVC, it uses Meson but it doesn't build:
            # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/issues/2
            self.disable_plugin('webrtcdsp', 'effects', dep='webrtc-audio-processing')
            # librsvg pulls in gdk-pixbuf, which must be built with MSVC
            self.disable_plugin('rsvg', 'codecs', dep='librsvg')

        # Enable hardware codecs if variants are enabled
        self.enable_plugin('nvenc', 'codecs', 'nvcodec', option='nvenc')
        self.enable_plugin('nvdec', 'codecs', 'nvcodec', option='nvdec')
        self.enable_plugin('msdk', 'codecs', 'intelmsdk', option='msdk')

        if self.config.target_platform == Platform.WINDOWS:
            self.meson_options['wasapi'] = 'enabled'
            self.meson_options['d3dvideosink'] = 'enabled'
            self.meson_options['directsound'] = 'enabled'
            self.meson_options['winks'] = 'enabled'
            self.meson_options['winscreencap'] = 'enabled'

        if self.config.target_platform in (Platform.LINUX, Platform.DARWIN, Platform.IOS):
            self.meson_options['shm'] = 'enabled'

        if self.config.target_platform in (Platform.DARWIN, Platform.IOS):
            self.meson_options['applemedia'] = 'enabled'

        if self.config.target_platform in (Platform.ANDROID, Platform.IOS):
            self.disable_plugin('resindvd', 'dvd', dep='libdvdnav')

        if self.config.variants.nodebug:
            self.append_env('CFLAGS', '-DGST_LEVEL_MAX=GST_LEVEL_FIXME')

    def post_install(self):
        LibtoolLibrary('gstphotography-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['gstreamer-1.0']).save()
        LibtoolLibrary('gsturidownloader-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['gstreamer-1.0', 'gstbase-1.0']).save()
        LibtoolLibrary('gstadaptivedemux-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['gstreamer-1.0', 'gsturidownloader-1.0', 'gstapp-1.0', 'gstbase-1.0']).save()
        LibtoolLibrary('gstbasecamerabinsrc-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['gstreamer-1.0', 'gstapp-1.0', 'gstbase-1.0']).save()
        LibtoolLibrary('gstisoff-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['gstreamer-1.0']).save()
        super().post_install()