subparse: Calcurate buffer pts using timestamp map for HLS webvtt
[platform/upstream/gst-plugins-base.git] / packaging / gst-plugins-base.spec
1 %bcond_with x
2 %define gst_branch 1.0
3 %define _lib_gstreamer_dir %{_libdir}/gstreamer-%{gst_branch}
4 %define _libdebug_dir %{_libdir}/debug/usr/lib
5
6 Name:           gst-plugins-base
7 Version:        1.16.2
8 Release:        22
9 License:        LGPL-2.0+
10 Summary:        GStreamer Streaming-Media Framework Plug-Ins
11 Url:            http://gstreamer.freedesktop.org/
12 Group:          Multimedia/Framework
13 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
14 Source100:      common.tar.gz
15 BuildRequires:  gettext-tools
16 BuildRequires:  pkgconfig(glib-2.0) >= 2.32
17 BuildRequires:  pkgconfig(gstreamer-1.0)
18 BuildRequires:  orc >= 0.4.16
19 BuildRequires:  python
20 %if "%{tizen_profile_name}" != "tv"
21 BuildRequires:  update-desktop-files
22 %endif
23 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
24 BuildRequires:  pkgconfig(alsa) >= 0.9.1
25 BuildRequires:  pkgconfig(freetype2) >= 2.0.9
26 BuildRequires:  pkgconfig(libxml-2.0)
27 BuildRequires:  pkgconfig(ogg) >= 1.0
28 BuildRequires:  pkgconfig(theoradec) >= 1.1
29 BuildRequires:  pkgconfig(theoraenc) >= 1.1
30 BuildRequires:  pkgconfig(vorbis) >= 1.0
31 BuildRequires:  pkgconfig(vorbisenc) >= 1.0
32 BuildRequires:  pkgconfig(zlib)
33
34 BuildRequires:  pkgconfig(libdrm)
35 BuildRequires:  pkgconfig(libtbm)
36 BuildRequires:  pkgconfig(opus)
37 %if %{with x}
38 BuildRequires:  pkgconfig(ice)
39 BuildRequires:  pkgconfig(sm)
40 BuildRequires:  pkgconfig(xext)
41 BuildRequires:  pkgconfig(xv)
42 BuildRequires:  pkgconfig(xfixes)
43 BuildRequires:  pkgconfig(dri2proto)
44 BuildRequires:  pkgconfig(libdri2)
45 %endif
46
47 Requires:       gstreamer >= 1.0.0
48 Requires:       opus
49 Supplements:    gstreamer
50 Provides:       %{name}-profile_tv = %{version}-%{release}
51 Provides:       %{name}-profile_common = %{version}-%{release}
52 Provides:       %{name}-profile_wearable = %{version}-%{release}
53 Provides:       %{name}-profile_ivi = %{version}-%{release}
54
55 %description
56 GStreamer is a streaming media framework based on graphs of filters
57 that operate on media data. Applications using this library can do
58 anything media-related, from real-time sound processing to playing
59 videos. Its plug-in-based architecture means that new data types or
60 processing capabilities can be added simply by installing new plug-ins.
61
62 %package extension-adder
63 Summary:        libgstadder.so for gst-plugins-base
64 Requires:   %{name} = %{version}-%{release}
65 Provides:   %{name}-profile_mobile = %{version}-%{release}
66 %description extension-adder
67 Libgstadder.so for gst-plugin-base. Supplicant for gst-plugin-base.
68 This is for Tizen mobile profile.
69
70 %package devel
71 Summary:        Include files and Libraries
72 Requires:       %{name} = %{version}
73
74 %description devel
75 This package contains all necessary include files and libraries needed
76 to compile and link applications that use gstreamer-plugins-base.
77
78 %prep
79 %setup -q -n gst-plugins-base-%{version}
80 %setup -q -T -D -a 100
81
82 %build
83 # FIXME: GTKDOC_CFLAGS, GST_OBJ_CFLAGS:
84 # Silently ignored compilation of uninstalled gtk-doc scanners without RPM_OPT_FLAGS.
85 export V=1
86 NOCONFIGURE=1 ./autogen.sh
87 export CFLAGS="%{optflags} -fno-strict-aliasing\
88  -DTIZEN_FEATURE_WAYLAND_ENHANCEMENT\
89  -DTIZEN_FEATURE_TYPEFIND_ENHANCEMENT\
90  -DTIZEN_FEATURE_AUDIODECODER_MODIFICATION\
91  -DTIZEN_FEATURE_DISABLE_MIME_TYPES\
92  -DTIZEN_FEATURE_VIDEO_MODIFICATION\
93  -DTIZEN_FEATURE_SUBPARSE_MODIFICATION\
94  -DTIZEN_FEATURE_HLS_WEBVTT\
95  -DTIZEN_FEATURE_VOLUME_MODIFICATION\
96  -DTIZEN_FEATURE_FORCE_SW_DECODER\
97  -DTIZEN_FEATURE_U3_AVOID_DEADLOCK\
98  -DTIZEN_FEATURE_PLAYBIN3_MODIFICATION\
99  -DTIZEN_FEATURE_DISABLE_EOS_DROP\
100 %if "%{tizen_profile_name}" == "tv"
101  -DTIZEN_PROFILE_TV\
102  -DTIZEN_FEATURE_TRUSTZONE\
103 %else
104  -DTIZEN_FEATURE_RESOURCE_MANAGER\
105 %endif
106  -DTIZEN_FEATURE_UPSTREAM\
107  -fstack-protector-strong\
108  -Wl,-z,relro\
109  -D_FORTIFY_SOURCE=2\
110  "
111 %configure\
112         --disable-static\
113         --enable-experimental\
114         --disable-gtk-doc\
115         --enable-introspection\
116         --disable-examples\
117 %if "%{tizen_profile_name}" == "tv"
118         --enable-tv\
119 %endif
120         --enable-tbm
121 make %{?_smp_mflags}
122
123 %install
124 rm -rf %{buildroot}
125 %make_install
126 %find_lang %{name}-%{gst_branch}
127 mv %{name}-%{gst_branch}.lang %{name}.lang
128
129 %post -p /sbin/ldconfig
130
131 %postun -p /sbin/ldconfig
132
133 %lang_package
134
135 %files
136 %manifest %{name}.manifest
137 %defattr(-, root, root)
138 %license COPYING
139
140 %{_lib_gstreamer_dir}/libgstalsa.so
141 %{_lib_gstreamer_dir}/libgstapp.so
142 %{_lib_gstreamer_dir}/libgstaudioconvert.so
143 %{_lib_gstreamer_dir}/libgstaudiorate.so
144 %{_lib_gstreamer_dir}/libgstaudioresample.so
145 %{_lib_gstreamer_dir}/libgstaudiotestsrc.so
146 %{_lib_gstreamer_dir}/libgstgio.so
147 %{_lib_gstreamer_dir}/libgstogg.so
148 %{_lib_gstreamer_dir}/libgstplayback.so
149 %{_lib_gstreamer_dir}/libgstoverlaycomposition.so
150 %{_lib_gstreamer_dir}/libgstsubparse.so
151 %{_lib_gstreamer_dir}/libgsttcp.so
152 %{_lib_gstreamer_dir}/libgsttheora.so
153 %{_lib_gstreamer_dir}/libgsttypefindfunctions.so
154 %{_lib_gstreamer_dir}/libgstvideoconvert.so
155 %{_lib_gstreamer_dir}/libgstvideorate.so
156 %{_lib_gstreamer_dir}/libgstvideoscale.so
157 %{_lib_gstreamer_dir}/libgstvideotestsrc.so
158 %{_lib_gstreamer_dir}/libgstvolume.so
159 %{_lib_gstreamer_dir}/libgstvorbis.so
160 %{_lib_gstreamer_dir}/libgstpbtypes.so
161 %{_lib_gstreamer_dir}/libgstrawparse.so
162 %{_lib_gstreamer_dir}/libgstopus.so
163 %{_lib_gstreamer_dir}/libgstencoding.so
164 %{_lib_gstreamer_dir}/libgstaudiomixer.so
165 %{_lib_gstreamer_dir}/libgstcompositor.so
166
167 %if %{with x}
168 %{_lib_gstreamer_dir}/libgstximagesink.so
169 %{_lib_gstreamer_dir}/libgstxvimagesink.so
170 %endif
171
172 %{_libdir}/libgstapp*.so.*
173 %{_libdir}/libgstaudio*.so.*
174 %{_libdir}/libgstallocators*.so.*
175 %{_libdir}/libgstfft*.so.*
176 %{_libdir}/libgstpbutils*.so.*
177 %{_libdir}/libgstriff*.so.*
178 %{_libdir}/libgstrtp*.so.*
179 %{_libdir}/libgstrtsp*.so.*
180 %{_libdir}/libgstsdp*.so.*
181 %{_libdir}/libgsttag*.so.*
182 %{_libdir}/libgstvideo*.so.*
183 %{_libdir}/girepository-1.0/GstAllocators-1.0.typelib
184 %{_libdir}/girepository-1.0/GstApp-1.0.typelib
185 %{_libdir}/girepository-1.0/GstAudio-1.0.typelib
186 %{_libdir}/girepository-1.0/GstPbutils-1.0.typelib
187 %{_libdir}/girepository-1.0/GstRtp-1.0.typelib
188 %{_libdir}/girepository-1.0/GstRtsp-1.0.typelib
189 %{_libdir}/girepository-1.0/GstSdp-1.0.typelib
190 %{_libdir}/girepository-1.0/GstTag-1.0.typelib
191 %{_libdir}/girepository-1.0/GstVideo-1.0.typelib
192 %dir %{_datadir}/gst-plugins-base/
193 %dir %{_datadir}/gst-plugins-base/%{gst_branch}/
194 %{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
195
196 %files extension-adder
197 %{_lib_gstreamer_dir}/libgstadder.so
198 %license COPYING
199
200 %files devel
201 %manifest %{name}.manifest
202 %defattr(-, root, root)
203 %{_includedir}/gstreamer-%{gst_branch}/*
204 %{_libdir}/*.so
205 %{_libdir}/pkgconfig/*.pc
206 %{_datadir}/gir-1.0/*.gir