summaryrefslogtreecommitdiff
path: root/packages/gstreamer-1.0-codecs.package
blob: 28a7de7e7573a73d1dc925d0a9429d9e439586c5 (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
# vi:si:et:sw=4:sts=4:ts=4:syntax=python
# -*- Mode: Python -*-


class Package(custom.GStreamer, package.Package):

    name = 'gstreamer-1.0-codecs'
    shortdesc = 'GStreamer 1.0 codecs'
    longdesc = 'GStreamer 1.0 codecs'
    uuid = 'a2e545d5-7819-4636-9e86-3660542f08e5'
    deps = ['gstreamer-1.0-core', 'base-crypto']

    files = ['flac:libs', 'libkate:libs', 'libdv:libs',
            'libogg:libs', 'speex:libs',
            'libtheora:libs', 'wavpack:libs', 'libvpx:libs',
            'opus:libs', 'libvorbis:libs', 'openjpeg:libs',
            'openh264:libs', 'tiff:libs', 'spandsp:libs',
            'sbc:libs', 'mpg123:libs', 'lame:libs', 'zbar:libs',
            'gst-plugins-base-1.0:plugins_codecs', 'gst-plugins-good-1.0:plugins_codecs',
            'gst-plugins-bad-1.0:plugins_codecs', 'gst-plugins-ugly-1.0:plugins_codecs',
            ]
    files_devel = ['gst-plugins-base-1.0:plugins_codecs_devel',
            'gst-plugins-good-1.0:plugins_codecs_devel',
            'gst-plugins-bad-1.0:plugins_codecs_devel',
            'gst-plugins-ugly-1.0:plugins_codecs_devel',
            'gst-plugins-bad-1.0:codecs_devel']
    platform_files = {
            Platform.ANDROID: ['tremor:libs'],
            Platform.IOS: ['tremor:libs'],
    }

    def prepare(self):
        if self.config.variants.rpi:
            self.files.append('gst-omx-1.0:plugins_codecs')
            self.files_devel.append('gst-omx-1.0:plugins_codecs_devel')

        if not self.config.variants.visualstudio:
            self.files += ['taglib:libs']

        if self.config.variants.vaapi:
            self.files.append('gstreamer-vaapi-1.0:plugins_codecs')
            self.files_devel.append('gstreamer-vaapi-1.0:plugins_codecs_devel')

        if self.config.target_platform in (Platform.WINDOWS, Platform.ANDROID):
            # Needed by zbar library
            self.files.append('libiconv:libs')

        # Recipes that need autoreconf hang on the Windows CI
        if self.config.platform == Platform.WINDOWS:
            self.files.remove('wavpack:libs')

        if self.config.variants.uwp:
            self.files = [
                'libvpx:libs', 'openh264:libs', 'opus:libs',
                'gst-plugins-base-1.0:plugins_codecs', 'gst-plugins-good-1.0:plugins_codecs',
                'gst-plugins-bad-1.0:plugins_codecs', 'gst-plugins-ugly-1.0:plugins_codecs',
            ]