diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-09-26 23:58:53 +0000 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-10-05 12:36:25 +0200 |
commit | 4abf170d3601ed51aa1c04403c5aeccd9eaf27c9 (patch) | |
tree | 344869670b3b9d16b8631207117808b9828c86a0 | |
parent | c9a41e656f5d8dc01eae6ce83ab9afe29b749826 (diff) | |
download | meta-openembedded-4abf170d3601ed51aa1c04403c5aeccd9eaf27c9.tar.gz |
faac: add recipe
Originally based on the recipe from OE-Classic. Changes from that
version:
* Update to 1.28
* Add a patch from Debian to fix compilation errors
* Split out staticdev files into their own package
* Set reasonable SUMMARY instead of DESCRIPTION
* Add LIC_FILES_CHKSUM
* Drop PRIORITY and default value of S
* Rearrange recipe into logical order
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r-- | meta-multimedia/recipes-multimedia/faac/faac_1.28.bb | 21 | ||||
-rw-r--r-- | meta-multimedia/recipes-multimedia/faac/files/build-fix.patch | 332 |
2 files changed, 353 insertions, 0 deletions
diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb new file mode 100644 index 000000000..c7dcdb9cd --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "LGPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ | ||
5 | file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" | ||
6 | |||
7 | inherit autotools | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BPN}-${PV}.tar.gz \ | ||
10 | file://build-fix.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6" | ||
13 | SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df" | ||
14 | |||
15 | PACKAGES =+ "lib${PN} lib${PN}-dev" | ||
16 | |||
17 | FILES_${PN} = " ${bindir}/faac " | ||
18 | FILES_lib${PN} = " ${libdir}/libfaac.so.*" | ||
19 | FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la" | ||
20 | FILES_lib${PN}-staticdev = "${libdir}/libfaac.a" | ||
21 | |||
diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch new file mode 100644 index 000000000..83cff8f89 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch | |||
@@ -0,0 +1,332 @@ | |||
1 | Patch fixing build error and warnings. Error consisted of redefining | ||
2 | strcasestr function from string.h. Warnings consisted of deprecated conversions | ||
3 | of string constants to char*, using '%llu' for type uint64_t (which on 64 bit | ||
4 | systems, is defined as unsigned long int by stdint.h), and using '==' for | ||
5 | equality of two strings. | ||
6 | |||
7 | Patch originally from Debian. | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | ========================================================================== | ||
12 | --- a/common/mp4v2/mpeg4ip.h | ||
13 | +++ b/common/mp4v2/mpeg4ip.h | ||
14 | @@ -120,14 +120,6 @@ | ||
15 | #endif | ||
16 | #include <sys/param.h> | ||
17 | |||
18 | -#ifdef __cplusplus | ||
19 | -extern "C" { | ||
20 | -#endif | ||
21 | -char *strcasestr(const char *haystack, const char *needle); | ||
22 | -#ifdef __cplusplus | ||
23 | -} | ||
24 | -#endif | ||
25 | - | ||
26 | #define OPEN_RDWR O_RDWR | ||
27 | #define OPEN_CREAT O_CREAT | ||
28 | #define OPEN_RDONLY O_RDONLY | ||
29 | @@ -135,7 +127,6 @@ | ||
30 | #define closesocket close | ||
31 | #define IOSBINARY ios::bin | ||
32 | |||
33 | -#if SIZEOF_LONG == 8 | ||
34 | #define MAX_UINT64 -1LU | ||
35 | #define D64F "ld" | ||
36 | #define U64F "lu" | ||
37 | @@ -143,15 +134,6 @@ | ||
38 | |||
39 | #define TO_D64(a) (a##L) | ||
40 | #define TO_U64(a) (a##LU) | ||
41 | -#else | ||
42 | -#define MAX_UINT64 -1LLU | ||
43 | -#define D64F "lld" | ||
44 | -#define U64F "llu" | ||
45 | -#define X64F "llx" | ||
46 | - | ||
47 | -#define TO_D64(a) (a##LL) | ||
48 | -#define TO_U64(a) (a##LLU) | ||
49 | -#endif | ||
50 | |||
51 | #ifdef HAVE_FPOS_T___POS | ||
52 | #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) | ||
53 | --- a/configure.in | ||
54 | +++ b/configure.in | ||
55 | @@ -4,6 +4,9 @@ | ||
56 | AM_INIT_AUTOMAKE | ||
57 | |||
58 | AM_CONFIG_HEADER(config.h) | ||
59 | +AH_TOP([#ifndef CONFIG_H | ||
60 | +#define CONFIG_H]) | ||
61 | +AH_BOTTOM([#endif /* CONFIG_H */]) | ||
62 | |||
63 | AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) | ||
64 | AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) | ||
65 | --- a/common/mp4v2/atom_avcC.cpp | ||
66 | +++ b/common/mp4v2/atom_avcC.cpp | ||
67 | @@ -29,7 +29,7 @@ | ||
68 | class SizeTableProperty : public MP4TableProperty | ||
69 | { | ||
70 | public: | ||
71 | - SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : | ||
72 | + SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : | ||
73 | MP4TableProperty(name, pCountProperty) {}; | ||
74 | protected: | ||
75 | void ReadEntry(MP4File *pFile, u_int32_t index) { | ||
76 | --- a/common/mp4v2/atom_ohdr.cpp | ||
77 | +++ b/common/mp4v2/atom_ohdr.cpp | ||
78 | @@ -21,7 +21,7 @@ | ||
79 | \param useCountedFormat counted format flag. | ||
80 | \param useUnicode unicode flag. | ||
81 | */ | ||
82 | - OhdrMP4StringProperty(char* name, bool useCountedFormat = false, | ||
83 | + OhdrMP4StringProperty(const char* name, bool useCountedFormat = false, | ||
84 | bool useUnicode = false): MP4StringProperty(name, useCountedFormat, | ||
85 | useUnicode) { | ||
86 | } | ||
87 | --- a/common/mp4v2/atom_stz2.cpp | ||
88 | +++ b/common/mp4v2/atom_stz2.cpp | ||
89 | @@ -30,7 +30,7 @@ | ||
90 | class MP4HalfSizeTableProperty : public MP4TableProperty | ||
91 | { | ||
92 | public: | ||
93 | - MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : | ||
94 | + MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : | ||
95 | MP4TableProperty(name, pCountProperty) {}; | ||
96 | |||
97 | // The count is half the actual size | ||
98 | --- a/common/mp4v2/mp4atom.cpp | ||
99 | +++ b/common/mp4v2/mp4atom.cpp | ||
100 | @@ -806,7 +806,7 @@ | ||
101 | AddProperty(new MP4Integer24Property("flags")); | ||
102 | } | ||
103 | |||
104 | -void MP4Atom::AddReserved(char* name, u_int32_t size) | ||
105 | +void MP4Atom::AddReserved(const char* name, u_int32_t size) | ||
106 | { | ||
107 | MP4BytesProperty* pReserved = new MP4BytesProperty(name, size); | ||
108 | pReserved->SetReadOnly(); | ||
109 | --- a/common/mp4v2/mp4atom.h | ||
110 | +++ b/common/mp4v2/mp4atom.h | ||
111 | @@ -204,7 +204,7 @@ | ||
112 | |||
113 | void AddVersionAndFlags(); | ||
114 | |||
115 | - void AddReserved(char* name, u_int32_t size); | ||
116 | + void AddReserved(const char* name, u_int32_t size); | ||
117 | |||
118 | void ExpectChildAtom(const char* name, | ||
119 | bool mandatory, bool onlyOne = true); | ||
120 | --- a/common/mp4v2/mp4file.cpp | ||
121 | +++ b/common/mp4v2/mp4file.cpp | ||
122 | @@ -718,7 +718,7 @@ | ||
123 | } | ||
124 | } | ||
125 | |||
126 | -void MP4File::ProtectWriteOperation(char* where) | ||
127 | +void MP4File::ProtectWriteOperation(const char* where) | ||
128 | { | ||
129 | if (m_mode == 'r') { | ||
130 | throw new MP4Error("operation not permitted in read mode", where); | ||
131 | @@ -1274,7 +1274,7 @@ | ||
132 | } | ||
133 | |||
134 | // NULL terminated list of brands which require the IODS atom | ||
135 | -char *brandsWithIods[] = { "mp42", | ||
136 | +const char *brandsWithIods[] = { "mp42", | ||
137 | "isom", | ||
138 | NULL}; | ||
139 | |||
140 | @@ -2211,11 +2211,11 @@ | ||
141 | for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { | ||
142 | if (!strcmp(normType, m_pTracks[i]->GetType())) { | ||
143 | if (subType) { | ||
144 | - if (normType == MP4_AUDIO_TRACK_TYPE) { | ||
145 | + if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { | ||
146 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
147 | continue; | ||
148 | } | ||
149 | - } else if (normType == MP4_VIDEO_TRACK_TYPE) { | ||
150 | + } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { | ||
151 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
152 | continue; | ||
153 | } | ||
154 | @@ -2278,11 +2278,11 @@ | ||
155 | for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { | ||
156 | if (!strcmp(normType, m_pTracks[i]->GetType())) { | ||
157 | if (subType) { | ||
158 | - if (normType == MP4_AUDIO_TRACK_TYPE) { | ||
159 | + if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { | ||
160 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
161 | continue; | ||
162 | } | ||
163 | - } else if (normType == MP4_VIDEO_TRACK_TYPE) { | ||
164 | + } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { | ||
165 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
166 | continue; | ||
167 | } | ||
168 | --- a/common/mp4v2/mp4file.h | ||
169 | +++ b/common/mp4v2/mp4file.h | ||
170 | @@ -700,7 +700,7 @@ | ||
171 | const char* TempFileName(); | ||
172 | void Rename(const char* existingFileName, const char* newFileName); | ||
173 | |||
174 | - void ProtectWriteOperation(char* where); | ||
175 | + void ProtectWriteOperation(const char* where); | ||
176 | |||
177 | void FindIntegerProperty(const char* name, | ||
178 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); | ||
179 | --- a/common/mp4v2/mp4property.cpp | ||
180 | +++ b/common/mp4v2/mp4property.cpp | ||
181 | @@ -313,7 +313,7 @@ | ||
182 | |||
183 | // MP4StringProperty | ||
184 | |||
185 | -MP4StringProperty::MP4StringProperty(char* name, | ||
186 | +MP4StringProperty::MP4StringProperty(const char* name, | ||
187 | bool useCountedFormat, bool useUnicode) | ||
188 | : MP4Property(name) | ||
189 | { | ||
190 | @@ -420,7 +420,7 @@ | ||
191 | |||
192 | // MP4BytesProperty | ||
193 | |||
194 | -MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize, | ||
195 | +MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize, | ||
196 | u_int32_t defaultValueSize) | ||
197 | : MP4Property(name) | ||
198 | { | ||
199 | @@ -549,7 +549,7 @@ | ||
200 | |||
201 | // MP4TableProperty | ||
202 | |||
203 | -MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty) | ||
204 | +MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty) | ||
205 | : MP4Property(name) | ||
206 | { | ||
207 | m_pCountProperty = pCountProperty; | ||
208 | @@ -725,7 +725,7 @@ | ||
209 | |||
210 | // MP4DescriptorProperty | ||
211 | |||
212 | -MP4DescriptorProperty::MP4DescriptorProperty(char* name, | ||
213 | +MP4DescriptorProperty::MP4DescriptorProperty(const char* name, | ||
214 | u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne) | ||
215 | : MP4Property(name) | ||
216 | { | ||
217 | --- a/common/mp4v2/mp4property.h | ||
218 | +++ b/common/mp4v2/mp4property.h | ||
219 | @@ -100,7 +100,7 @@ | ||
220 | |||
221 | class MP4IntegerProperty : public MP4Property { | ||
222 | protected: | ||
223 | - MP4IntegerProperty(char* name) | ||
224 | + MP4IntegerProperty(const char* name) | ||
225 | : MP4Property(name) { }; | ||
226 | |||
227 | public: | ||
228 | @@ -118,7 +118,7 @@ | ||
229 | #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \ | ||
230 | class MP4Integer##xsize##Property : public MP4IntegerProperty { \ | ||
231 | public: \ | ||
232 | - MP4Integer##xsize##Property(char* name) \ | ||
233 | + MP4Integer##xsize##Property(const char* name) \ | ||
234 | : MP4IntegerProperty(name) { \ | ||
235 | SetCount(1); \ | ||
236 | m_values[0] = 0; \ | ||
237 | @@ -188,7 +188,7 @@ | ||
238 | |||
239 | class MP4BitfieldProperty : public MP4Integer64Property { | ||
240 | public: | ||
241 | - MP4BitfieldProperty(char* name, u_int8_t numBits) | ||
242 | + MP4BitfieldProperty(const char* name, u_int8_t numBits) | ||
243 | : MP4Integer64Property(name) { | ||
244 | ASSERT(numBits != 0); | ||
245 | ASSERT(numBits <= 64); | ||
246 | @@ -213,7 +213,7 @@ | ||
247 | |||
248 | class MP4Float32Property : public MP4Property { | ||
249 | public: | ||
250 | - MP4Float32Property(char* name) | ||
251 | + MP4Float32Property(const char* name) | ||
252 | : MP4Property(name) { | ||
253 | m_useFixed16Format = false; | ||
254 | m_useFixed32Format = false; | ||
255 | @@ -280,7 +280,7 @@ | ||
256 | |||
257 | class MP4StringProperty : public MP4Property { | ||
258 | public: | ||
259 | - MP4StringProperty(char* name, | ||
260 | + MP4StringProperty(const char* name, | ||
261 | bool useCountedFormat = false, bool useUnicode = false); | ||
262 | |||
263 | ~MP4StringProperty(); | ||
264 | @@ -355,7 +355,7 @@ | ||
265 | |||
266 | class MP4BytesProperty : public MP4Property { | ||
267 | public: | ||
268 | - MP4BytesProperty(char* name, u_int32_t valueSize = 0, | ||
269 | + MP4BytesProperty(const char* name, u_int32_t valueSize = 0, | ||
270 | u_int32_t defaultValueSize = 0); | ||
271 | |||
272 | ~MP4BytesProperty(); | ||
273 | @@ -419,7 +419,7 @@ | ||
274 | |||
275 | class MP4TableProperty : public MP4Property { | ||
276 | public: | ||
277 | - MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty); | ||
278 | + MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty); | ||
279 | |||
280 | ~MP4TableProperty(); | ||
281 | |||
282 | @@ -469,7 +469,7 @@ | ||
283 | |||
284 | class MP4DescriptorProperty : public MP4Property { | ||
285 | public: | ||
286 | - MP4DescriptorProperty(char* name = NULL, | ||
287 | + MP4DescriptorProperty(const char* name = NULL, | ||
288 | u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, | ||
289 | bool mandatory = false, bool onlyOne = false); | ||
290 | |||
291 | @@ -531,7 +531,7 @@ | ||
292 | |||
293 | class MP4QosQualifierProperty : public MP4DescriptorProperty { | ||
294 | public: | ||
295 | - MP4QosQualifierProperty(char* name = NULL, | ||
296 | + MP4QosQualifierProperty(const char* name = NULL, | ||
297 | u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, | ||
298 | bool mandatory = false, bool onlyOne = false) : | ||
299 | MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { } | ||
300 | --- a/common/mp4v2/mp4track.cpp | ||
301 | +++ b/common/mp4v2/mp4track.cpp | ||
302 | @@ -1360,7 +1360,7 @@ | ||
303 | } | ||
304 | } | ||
305 | |||
306 | -MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) | ||
307 | +MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName) | ||
308 | { | ||
309 | MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); | ||
310 | |||
311 | --- a/common/mp4v2/mp4track.h | ||
312 | +++ b/common/mp4v2/mp4track.h | ||
313 | @@ -168,7 +168,7 @@ | ||
314 | void UpdateSyncSamples(MP4SampleId sampleId, | ||
315 | bool isSyncSample); | ||
316 | |||
317 | - MP4Atom* AddAtom(char* parentName, char* childName); | ||
318 | + MP4Atom* AddAtom(const char* parentName, const char* childName); | ||
319 | |||
320 | void UpdateDurations(MP4Duration duration); | ||
321 | MP4Duration ToMovieDuration(MP4Duration trackDuration); | ||
322 | --- a/common/mp4v2/ocidescriptors.cpp | ||
323 | +++ b/common/mp4v2/ocidescriptors.cpp | ||
324 | @@ -171,7 +171,7 @@ | ||
325 | |||
326 | class MP4CreatorTableProperty : public MP4TableProperty { | ||
327 | public: | ||
328 | - MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) : | ||
329 | + MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) : | ||
330 | MP4TableProperty(name, pCountProperty) { | ||
331 | }; | ||
332 | protected: | ||