summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-09-26 23:58:53 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2013-10-05 12:36:25 +0200
commit4abf170d3601ed51aa1c04403c5aeccd9eaf27c9 (patch)
tree344869670b3b9d16b8631207117808b9828c86a0
parentc9a41e656f5d8dc01eae6ce83ab9afe29b749826 (diff)
downloadmeta-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.bb21
-rw-r--r--meta-multimedia/recipes-multimedia/faac/files/build-fix.patch332
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 @@
1SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
2SECTION = "libs"
3LICENSE = "LGPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
5 file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
6
7inherit autotools
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BPN}-${PV}.tar.gz \
10 file://build-fix.patch"
11
12SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6"
13SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df"
14
15PACKAGES =+ "lib${PN} lib${PN}-dev"
16
17FILES_${PN} = " ${bindir}/faac "
18FILES_lib${PN} = " ${libdir}/libfaac.so.*"
19FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la"
20FILES_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 @@
1Patch fixing build error and warnings. Error consisted of redefining
2strcasestr function from string.h. Warnings consisted of deprecated conversions
3of string constants to char*, using '%llu' for type uint64_t (which on 64 bit
4systems, is defined as unsigned long int by stdint.h), and using '==' for
5equality of two strings.
6
7Patch originally from Debian.
8
9Upstream-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: