summaryrefslogtreecommitdiff
path: root/recipes/gst-plugins-base-1.0.recipe
blob: 24bbcb11924f9d4605e0402bc6ab358aff58721e (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
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python


class Recipe(recipe.Recipe):
    name = 'gst-plugins-base-1.0'
    version = '1.5'
    licenses = [License.LGPLv2Plus]
    config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
    configure_options = "--enable-static --program-prefix= --disable-examples "
    remotes = {'origin': 'git://anongit.freedesktop.org/gstreamer/gst-plugins-base'}
    commit = 'origin/master'
    deps = ['glib', 'gstreamer-1.0', 'libxml2', 'libogg', 'pango', 'libtheora',
            'libvisual', 'libvorbis', 'zlib', 'orc']
    platform_deps = {Platform.ANDROID: [ 'tremor' ], Platform.IOS: [ 'tremor' ] }
    use_system_libs = True

    files_bins = ['gst-discoverer-1.0', 'gst-play-1.0', 'gst-device-monitor-1.0']

    files_libs = ['libgstallocators-1.0',
                 'libgstapp-1.0', 'libgstaudio-1.0',
                 'libgstfft-1.0', 'libgstpbutils-1.0', 'libgstriff-1.0', 'libgstrtp-1.0',
                 'libgstrtsp-1.0', 'libgstsdp-1.0', 'libgsttag-1.0',
                 'libgstvideo-1.0',]

    files_plugins_core = [
             'lib/gstreamer-1.0/libgstadder%(mext)s',
             'lib/gstreamer-1.0/libgstapp%(mext)s',
             'lib/gstreamer-1.0/libgstaudioconvert%(mext)s',
             'lib/gstreamer-1.0/libgstaudiorate%(mext)s',
             'lib/gstreamer-1.0/libgstaudioresample%(mext)s',
             'lib/gstreamer-1.0/libgstaudiotestsrc%(mext)s',
             'lib/gstreamer-1.0/libgstgio%(mext)s',
             'lib/gstreamer-1.0/libgstpango%(mext)s',
             'lib/gstreamer-1.0/libgsttypefindfunctions%(mext)s',
             'lib/gstreamer-1.0/libgstvideoconvert%(mext)s',
             'lib/gstreamer-1.0/libgstvideorate%(mext)s',
             'lib/gstreamer-1.0/libgstvideoscale%(mext)s',
             'lib/gstreamer-1.0/libgstvideotestsrc%(mext)s',
             'lib/gstreamer-1.0/libgstvolume%(mext)s',
    ]

    files_plugins_playback = [
             'lib/gstreamer-1.0/libgstplayback%(mext)s',
            ]

    # Not used currently
    files_plugins_encoding = [
             'lib/gstreamer-1.0/libgstencodebin%(mext)s',
            ]

    files_plugins_codecs = [
             'lib/gstreamer-1.0/libgstsubparse%(mext)s',
             'lib/gstreamer-1.0/libgstogg%(mext)s',
             'lib/gstreamer-1.0/libgsttheora%(mext)s',
             'lib/gstreamer-1.0/libgstvorbis%(mext)s',
            ]

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

    files_plugins_devel = [
            'include/gstreamer-1.0/gst/allocators',
            'include/gstreamer-1.0/gst/app',
            'include/gstreamer-1.0/gst/audio',
            'include/gstreamer-1.0/gst/fft',
            'include/gstreamer-1.0/gst/pbutils',
            'include/gstreamer-1.0/gst/riff',
            'include/gstreamer-1.0/gst/rtp',
            'include/gstreamer-1.0/gst/rtsp',
            'include/gstreamer-1.0/gst/sdp',
            'include/gstreamer-1.0/gst/tag',
            'include/gstreamer-1.0/gst/video',
            'lib/pkgconfig/gstreamer-allocators-1.0.pc',
            'lib/pkgconfig/gstreamer-app-1.0.pc',
            'lib/pkgconfig/gstreamer-audio-1.0.pc',
            'lib/pkgconfig/gstreamer-fft-1.0.pc',
            'lib/pkgconfig/gstreamer-pbutils-1.0.pc',
            'lib/pkgconfig/gstreamer-riff-1.0.pc',
            'lib/pkgconfig/gstreamer-rtp-1.0.pc',
            'lib/pkgconfig/gstreamer-rtsp-1.0.pc',
            'lib/pkgconfig/gstreamer-sdp-1.0.pc',
            'lib/pkgconfig/gstreamer-tag-1.0.pc',
            'lib/pkgconfig/gstreamer-video-1.0.pc',
            'lib/pkgconfig/gstreamer-plugins-base-1.0.pc',
    ]

    files_plugins_net = [
            'lib/gstreamer-1.0/libgsttcp%(mext)s',
            ]
    files_plugins_sys = []


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

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

    files_typelibs = [
        'GstAllocators-1.0',
        'GstApp-1.0',
        'GstFft-1.0',
        'GstPbutils-1.0',
        'GstRiff-1.0',
        'GstRtp-1.0',
        'GstRtsp-1.0',
        'GstSdp-1.0',
        'GstTag-1.0',
        'GstVideo-1.0',
        'GstAudio-1.0'
        ]

    def prepare(self):
        self.append_env['CFLAGS'] = " -Wno-error "
        self.append_env['CXXFLAGS'] = " -Wno-error "
        self.append_env['CPPFLAGS'] = " -Wno-error "
        if self.config.target_platform != Platform.LINUX:
            self.configure_options += '--disable-gtk-doc '

        if self.config.variants.cdparanoia:
            self.deps.append('cdparanoia')
            self.files_plugins_sys += ['lib/gstreamer-1.0/libgstcdparanoia%(mext)s']
        else:
            self.configure_options += ' --disable-cdparanoia'

        if self.config.variants.x11:
            self.files_plugins_sys += [
                 'lib/gstreamer-1.0/libgstximagesink%(mext)s',
                 'lib/gstreamer-1.0/libgstxvimagesink%(mext)s',
                ]
        else:
            self.configure_options += ' --disable-x --disable-xvideo '

        if self.config.variants.alsa:
            self.files_plugins_sys += ['lib/gstreamer-1.0/libgstalsa%(mext)s']
        else:
            self.configure_options += ' --disable-alsa'

        if self.config.variants.nodebug:
            self.append_env['CFLAGS'] += ' -DGST_LEVEL_MAX=GST_LEVEL_FIXME'