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


class Recipe(custom.GStreamerStatic):
    name = 'gst-plugins-bad-1.0-static'
    version = '1.7'
    gstreamer_version = '1.0'
    licenses = [License.LGPLv2Plus]
    extra_configure_options = '--disable-gsm --disable-festival \
        --disable-videomaxrate --disable-bz2 --disable-libde265 \
        --disable-linsys --disable-fbdev --disable-apexsink \
        --disable-celt --disable-curl --disable-dc1394 --disable-directfb \
        --disable-dirac --disable-faac --disable-flite --disable-gme \
        --disable-ladspa --disable-lv2 --disable-mimic --disable-modplug \
        --disable-mpeg2enc --disable-mplex --disable-musepack --disable-mythtv \
        --disable-neon --disable-ofa --disable-openal --disable-opencv \
        --disable-pvr --disable-sdl --disable-sndfile \
        --disable-teletextdec --disable-timidity \
        --disable-vdpau --disable-voamrwbenc --disable-wildmidi \
        --disable-xvid --disable-zbar --disable-sdi --disable-qt'
    remotes = {'origin': 'git://anongit.freedesktop.org/gstreamer/gst-plugins-bad'}
    commit = 'origin/master'
    deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'bzip2', 'libass',
            'faad2', 'libkate', 'zlib', 'openh264', 'opus', 'nettle', 'librtmp',
            'libsrtp', 'schroedinger', 'libdca', 'libmms', 'libdvdnav',
            'soundtouch', 'vo-aacenc', 'librsvg', 'openjpeg', 'graphene', 'spandsp']
    use_system_libs = True

    files_plugins_effects_devel = [
             'libgstaccurip',
             'libgstaiff',
             'libgstaudiofxbad',
             'libgstautoconvert',
             'libgstbayer',
             'libgstcoloreffects',
             'libgstdebugutilsbad',
             'libgstfieldanalysis',
             'libgstfreeverb',
             'libgstfrei0r',
             'libgstgaudieffects',
             'libgstgeometrictransform',
             'libgstinter',
             'libgstinterlace',
             'libgstivtc',
             'libgstrawparse',
             'libgstremovesilence',
             'libgstsegmentclip',
             'libgstsmooth',
             'libgstspeed',
             'libgstsoundtouch',
             'libgstvideofiltersbad',
             'libgstaudiomixer',
             'libgstcompositor',
    ]

    files_plugins_codecs_devel = [
             'libgstadpcmdec',
             'libgstadpcmenc',
             'libgstdashdemux',
             'libgstdvbsuboverlay',
             'libgstdvdspu',
             'libgsthls',
             'libgstid3tag',
             'libgstkate',
             'libgstmidi',
             'libgstmxf',
             'libgstopenh264',
             'libgstopusparse',
             'libgstpcapparse',
             'libgstpnm',
             'libgstrfbsrc',
             'libgstschro',
             'libgstsiren',
             'libgstsmoothstreaming',
             'libgstsubenc',
             'libgstvideoparsersbad',
             'libgsty4mdec',
             'libgstjpegformat',
             'libgstgdp',
             'libgstrsvg',
             'libgstopenjpeg',
             'libgstspandsp',
    ]

    platform_files_plugins_codecs_devel = {
        Platform.ANDROID: [
             'libgstandroidmedia',
            ]
    }

    files_plugins_codecs_gpl_devel = [
             'libgstassrender',
    ]

    files_plugins_codecs_restricted_devel = [
             'libgstasfmux',
             'libgstdtsdec',
             'libgstfaad',
             'libgstmpegpsdemux',
             'libgstmpegpsmux',
             'libgstmpegtsdemux',
             'libgstmpegtsmux',
             'libgstvoaacenc'
    ]

    files_plugins_dvd_devel = [
             'libgstresindvd',
    ]

    files_plugins_net_devel = [
             'libgstdataurisrc',
             'libgstsdpelem',
             'libgstsrtp',
    ]

    files_plugins_net_restricted_devel = [
             'libgstmms',
             'libgstrtmp',
    ]

    files_plugins_capture_devel = [
             'libgstcamerabin2',
            ]


    platform_files_plugins_capture_devel = {
        Platform.LINUX: [
             'libgstdvb',
            ],
        Platform.WINDOWS: [
             'libgstwinscreencap',
             'libgstdirectsoundsrc',
             'libgstwinks',
            ]
    }

    files_plugins_vis_devel = [
             'libgstaudiovisualizers',
            ]

    platform_files_plugins_sys_devel = {
        Platform.LINUX: [
             'libgstshm',
             'libgstopengl',
             'libgstdecklink',
            ],
        Platform.WINDOWS: [
             'libgstd3dvideosink',
             'libgstwasapi',
             'libgstopengl',
            ],
        Platform.DARWIN: [
             'libgstapplemedia',
             'libgstapplemedia_nonpublic',
             'libgstshm',
             'libgstopengl',
             'libgstdecklink',
            ],
        Platform.IOS: [
             'libgstapplemedia',
             #'libgstapplemedia_nonpublic',
             'libgstopengl',
             'libgstshm',
            ],
        Platform.ANDROID: [
             'libgstopensles',
             'libgstopengl',
            ]
    }

    files_plugins_sys  = []

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

    def prepare(self):
        self.append_env['CFLAGS'] = " -Wno-error -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 "
        self.append_env['OBJCFLAGS'] = " -Wno-error -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 "
        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.target_platform == Platform.WINDOWS:
            self.configure_options += \
                ' --disable-cog --disable-sdl '\
                '--disable-cdaudio'
        if self.config.variants.gtk3:
            self.deps.append("gtk+3")
            self.files_plugins_sys = ["libgstgtksink"]
        if self.config.target_platform in [ Platform.ANDROID, Platform.IOS ]:
            for d in ['libdvdnav']:
                self.deps.remove(d)
            self.files_plugins_dvd_devel.remove('libgstresindvd')
        if self.config.variants.nodebug:
            self.append_env['CFLAGS'] += ' -DGST_LEVEL_MAX=GST_LEVEL_FIXME'

        if self.config.target_distro_version in [DistroVersion.DEBIAN_SQUEEZE, DistroVersion.DEBIAN_WHEEZY]:
            self.platform_files_plugins_capture_devel[Platform.LINUX].remove("libgstdvb")
        super(Recipe, self).prepare()