faac.guncellendi
This commit is contained in:
parent
e18cff4b31
commit
ef53612b53
|
@ -0,0 +1,40 @@
|
||||||
|
http://bugs.gentoo.org/306881
|
||||||
|
|
||||||
|
--- configure.in
|
||||||
|
+++ configure.in
|
||||||
|
@@ -33,7 +33,12 @@
|
||||||
|
AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
|
||||||
|
AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
|
||||||
|
external_mp4v2=no, -lstdc++),
|
||||||
|
- external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
|
||||||
|
+ external_mp4v2=no, [
|
||||||
|
+ #if defined(__ALTIVEC__)
|
||||||
|
+ #undef bool
|
||||||
|
+ #endif
|
||||||
|
+ #include <mp4v2/mp4v2.h>
|
||||||
|
+ ])
|
||||||
|
|
||||||
|
if test x$external_mp4v2 = xyes; then
|
||||||
|
AC_MSG_NOTICE([*** Building with external mp4v2 ***])
|
||||||
|
--- frontend/main.c
|
||||||
|
+++ frontend/main.c
|
||||||
|
@@ -30,6 +30,9 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_LIBMP4V2
|
||||||
|
+#if defined(__ALTIVEC__)
|
||||||
|
+# undef bool
|
||||||
|
+#endif
|
||||||
|
# include <mp4v2/mp4v2.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--- common/mp4v2/mpeg4ip.h
|
||||||
|
+++ common/mp4v2/mpeg4ip.h
|
||||||
|
@@ -123,7 +123,6 @@
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
-char *strcasestr(const char *haystack, const char *needle);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
|
@ -0,0 +1,47 @@
|
||||||
|
diff -ur faac-1.28.orig/configure.in faac-1.28/configure.in
|
||||||
|
--- faac-1.28.orig/configure.in 2009-02-05 02:55:38.000000000 +0200
|
||||||
|
+++ faac-1.28/configure.in 2009-07-10 13:21:34.000000000 +0300
|
||||||
|
@@ -28,14 +28,17 @@
|
||||||
|
AC_CHECK_LIB(gnugetopt, getopt_long)
|
||||||
|
|
||||||
|
AM_CONDITIONAL(WITH_MP4V2, false)
|
||||||
|
+AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, false)
|
||||||
|
|
||||||
|
AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
|
||||||
|
AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
|
||||||
|
external_mp4v2=no, -lstdc++),
|
||||||
|
- external_mp4v2=no, [#include <mp4.h>])
|
||||||
|
+ external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
|
||||||
|
|
||||||
|
if test x$external_mp4v2 = xyes; then
|
||||||
|
AC_MSG_NOTICE([*** Building with external mp4v2 ***])
|
||||||
|
+ MY_DEFINE(HAVE_LIBMP4V2)
|
||||||
|
+ AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, true)
|
||||||
|
else
|
||||||
|
if test x$WITHMP4V2 = xyes; then
|
||||||
|
AC_MSG_NOTICE([*** Building with internal mp4v2 ***])
|
||||||
|
diff -ur faac-1.28.orig/frontend/main.c faac-1.28/frontend/main.c
|
||||||
|
--- faac-1.28.orig/frontend/main.c 2009-01-24 03:10:20.000000000 +0200
|
||||||
|
+++ faac-1.28/frontend/main.c 2009-07-10 13:22:18.000000000 +0300
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_LIBMP4V2
|
||||||
|
-# include <mp4.h>
|
||||||
|
+# include <mp4v2/mp4v2.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DEFAULT_TNS 0
|
||||||
|
diff -ur faac-1.28.orig/frontend/Makefile.am faac-1.28/frontend/Makefile.am
|
||||||
|
--- faac-1.28.orig/frontend/Makefile.am 2008-12-16 02:56:00.000000000 +0200
|
||||||
|
+++ faac-1.28/frontend/Makefile.am 2009-07-10 13:21:55.000000000 +0300
|
||||||
|
@@ -8,5 +8,9 @@
|
||||||
|
LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++
|
||||||
|
else
|
||||||
|
INCLUDES = -I$(top_srcdir)/include
|
||||||
|
+if WITH_EXTERNAL_MP4V2
|
||||||
|
+LDADD = $(top_builddir)/libfaac/libfaac.la -lm -lmp4v2
|
||||||
|
+else
|
||||||
|
LDADD = $(top_builddir)/libfaac/libfaac.la -lm
|
||||||
|
endif
|
||||||
|
+endif
|
|
@ -0,0 +1,138 @@
|
||||||
|
http://bugs.gentoo.org/397575
|
||||||
|
http://sourceforge.net/tracker/?func=detail&aid=3476707&group_id=704&atid=100704
|
||||||
|
|
||||||
|
--- configure.in
|
||||||
|
+++ configure.in
|
||||||
|
@@ -33,8 +33,8 @@ AC_CHECK_LIB(gnugetopt, getopt_long)
|
||||||
|
AM_CONDITIONAL(WITH_MP4V2, false)
|
||||||
|
AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, false)
|
||||||
|
|
||||||
|
-AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
|
||||||
|
- AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
|
||||||
|
+AC_CHECK_DECLS([MP4Create],
|
||||||
|
+ AC_CHECK_LIB(mp4v2, MP4Create, external_mp4v2=yes,
|
||||||
|
external_mp4v2=no, -lstdc++),
|
||||||
|
external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
|
||||||
|
|
||||||
|
@@ -42,6 +42,7 @@ if test x$external_mp4v2 = xyes; then
|
||||||
|
AC_MSG_NOTICE([*** Building with external mp4v2 ***])
|
||||||
|
MY_DEFINE(HAVE_EXTERNAL_LIBMP4V2)
|
||||||
|
AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, true)
|
||||||
|
+ AC_CHECK_DECLS([MP4TagsAlloc], [], [], [#include <mp4v2/mp4v2.h>])
|
||||||
|
else
|
||||||
|
if test x$WITHMP4V2 = xyes; then
|
||||||
|
AC_MSG_NOTICE([*** Building with internal mp4v2 ***])
|
||||||
|
--- frontend/main.c
|
||||||
|
+++ frontend/main.c
|
||||||
|
@@ -873,8 +873,12 @@ int main(int argc, char *argv[])
|
||||||
|
if (!faacEncSetConfiguration(hEncoder, myFormat)) {
|
||||||
|
fprintf(stderr, "Unsupported output format!\n");
|
||||||
|
#ifdef HAVE_LIBMP4V2
|
||||||
|
+#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */
|
||||||
|
+ if (container == MP4_CONTAINER) MP4Close(MP4hFile, 0);
|
||||||
|
+#else
|
||||||
|
if (container == MP4_CONTAINER) MP4Close(MP4hFile);
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -885,12 +889,10 @@ int main(int argc, char *argv[])
|
||||||
|
unsigned long ASCLength = 0;
|
||||||
|
char *version_string;
|
||||||
|
|
||||||
|
-#ifdef MP4_CREATE_EXTENSIBLE_FORMAT
|
||||||
|
- /* hack to compile against libmp4v2 >= 1.0RC3
|
||||||
|
- * why is there no version identifier in mp4.h? */
|
||||||
|
+#ifdef MP4_DETAILS_ERROR /* r453 fix */
|
||||||
|
MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0);
|
||||||
|
#else
|
||||||
|
- MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0, 0);
|
||||||
|
+ MP4hFile = MP4Create(aacFileName, 0);
|
||||||
|
#endif
|
||||||
|
if (!MP4_IS_VALID_FILE_HANDLE(MP4hFile)) {
|
||||||
|
fprintf(stderr, "Couldn't create output file %s\n", aacFileName);
|
||||||
|
@@ -905,12 +907,22 @@ int main(int argc, char *argv[])
|
||||||
|
free(ASC);
|
||||||
|
|
||||||
|
/* set metadata */
|
||||||
|
+#if HAVE_DECL_MP4TAGSALLOC
|
||||||
|
+ const MP4Tags* tags;
|
||||||
|
+ tags = MP4TagsAlloc();
|
||||||
|
+ MP4TagsFetch( tags, MP4hFile );
|
||||||
|
+#endif
|
||||||
|
version_string = malloc(strlen(faac_id_string) + 6);
|
||||||
|
strcpy(version_string, "FAAC ");
|
||||||
|
strcpy(version_string + 5, faac_id_string);
|
||||||
|
+#if !HAVE_DECL_MP4TAGSALLOC
|
||||||
|
MP4SetMetadataTool(MP4hFile, version_string);
|
||||||
|
+#else
|
||||||
|
+ MP4TagsSetEncodingTool(tags, version_string);
|
||||||
|
+#endif
|
||||||
|
free(version_string);
|
||||||
|
|
||||||
|
+#if !HAVE_DECL_MP4TAGSALLOC
|
||||||
|
if (artist) MP4SetMetadataArtist(MP4hFile, artist);
|
||||||
|
if (writer) MP4SetMetadataWriter(MP4hFile, writer);
|
||||||
|
if (title) MP4SetMetadataName(MP4hFile, title);
|
||||||
|
@@ -923,8 +935,40 @@ int main(int argc, char *argv[])
|
||||||
|
if (comment) MP4SetMetadataComment(MP4hFile, comment);
|
||||||
|
if (artSize) {
|
||||||
|
MP4SetMetadataCoverArt(MP4hFile, art, artSize);
|
||||||
|
+#else
|
||||||
|
+ if (artist) MP4TagsSetArtist(tags, artist);
|
||||||
|
+ if (writer) MP4TagsSetComposer(tags, writer);
|
||||||
|
+ if (title) MP4TagsSetName(tags, title);
|
||||||
|
+ if (album) MP4TagsSetAlbum(tags, album);
|
||||||
|
+ if (trackno > 0) {
|
||||||
|
+ MP4TagTrack tt;
|
||||||
|
+ tt.index = trackno;
|
||||||
|
+ tt.total = ntracks;
|
||||||
|
+ MP4TagsSetTrack(tags, &tt);
|
||||||
|
+ }
|
||||||
|
+ if (discno > 0) {
|
||||||
|
+ MP4TagDisk td;
|
||||||
|
+ td.index = discno;
|
||||||
|
+ td.total = ndiscs;
|
||||||
|
+ MP4TagsSetDisk(tags, &td);
|
||||||
|
+ }
|
||||||
|
+ if (compilation) MP4TagsSetCompilation(tags, compilation);
|
||||||
|
+ if (year) MP4TagsSetReleaseDate(tags, year);
|
||||||
|
+ if (genre) MP4TagsSetGenre(tags, genre);
|
||||||
|
+ if (comment) MP4TagsSetComments(tags, comment);
|
||||||
|
+ if (artSize) {
|
||||||
|
+ MP4TagArtwork mp4art;
|
||||||
|
+ mp4art.data = art;
|
||||||
|
+ mp4art.size = artSize;
|
||||||
|
+ mp4art.type = MP4_ART_UNDEFINED; // delegate typing to libmp4v2
|
||||||
|
+ MP4TagsAddArtwork( tags, &mp4art );
|
||||||
|
+#endif
|
||||||
|
free(art);
|
||||||
|
}
|
||||||
|
+#if HAVE_DECL_MP4TAGSALLOC
|
||||||
|
+ MP4TagsStore( tags, MP4hFile );
|
||||||
|
+ MP4TagsFree( tags );
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
@@ -1141,11 +1185,19 @@ int main(int argc, char *argv[])
|
||||||
|
/* clean up */
|
||||||
|
if (container == MP4_CONTAINER)
|
||||||
|
{
|
||||||
|
+#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */
|
||||||
|
+ MP4Close(MP4hFile, 0);
|
||||||
|
+#else
|
||||||
|
MP4Close(MP4hFile);
|
||||||
|
+#endif
|
||||||
|
if (optimizeFlag == 1)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "\n\nMP4 format optimization... ");
|
||||||
|
+#ifdef MP4_DETAILS_ERROR /* r453 fix */
|
||||||
|
MP4Optimize(aacFileName, NULL, 0);
|
||||||
|
+#else
|
||||||
|
+ MP4Optimize(aacFileName, NULL);
|
||||||
|
+#endif
|
||||||
|
fprintf(stderr, "Done!");
|
||||||
|
}
|
||||||
|
} else
|
|
@ -1,19 +1,25 @@
|
||||||
# Description: FAAC bir MPEG-4 ve MPEG-2 AAC kodlayıcıdır.FAAC kalitesinin şu anda mevcut olan en iyi AAC enkoderlerle eşit olmadığını unutmayın.
|
# Description: FAAC bir MPEG-4 ve MPEG-2 AAC kodlayıcıdır.FAAC kalitesinin şu anda mevcut olan en iyi AAC enkoderlerle eşit olmadığını unutmayın.
|
||||||
# URL: http://www.audiocoding.com
|
# URL: http://www.audiocoding.com
|
||||||
# Packager: milisarge
|
# Packager: milisarge
|
||||||
# Depends on:
|
# Depends on: libmp4v2
|
||||||
|
|
||||||
name=faac
|
name=faac
|
||||||
version=1.28
|
version=1.28
|
||||||
release=2
|
release=2
|
||||||
source=(http://heanet.dl.sourceforge.net/sourceforge/$name/$name-$version.tar.gz
|
source=(http://downloads.sourceforge.net/$name/$name-$version.tar.gz
|
||||||
http://www.linuxfromscratch.org/patches/blfs/svn/faac-1.28-glibc_fixes-1.patch)
|
altivec.patch
|
||||||
|
mp4v2-1.9.patch
|
||||||
|
mp4v2-2.0.0.patch
|
||||||
|
)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd $name-$version
|
cd $name-$version
|
||||||
patch -Np1 -i ../faac-1.28-glibc_fixes-1.patch
|
patch -p1 -i ../mp4v2-1.9.patch
|
||||||
sed -i -e '/obj-type/d' -e '/Long Term/d' frontend/main.c
|
patch -p0 -i ../mp4v2-2.0.0.patch
|
||||||
./configure --prefix=/usr
|
patch -p0 -i ../altivec.patch
|
||||||
make
|
find . -type f -print0 | xargs -0 sed -i 's/\r//g'
|
||||||
make DESTDIR=$PKG install
|
./bootstrap
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make DESTDIR=$PKG install
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,11 +7,11 @@ name=libmp4v2
|
||||||
version=2.0.0
|
version=2.0.0
|
||||||
release=1
|
release=1
|
||||||
|
|
||||||
source=(http://mp4v2.googlecode.com/files/mp4v2-$version.tar.bz2)
|
source=(https://sources.archlinux.org/other/packages/$name/mp4v2-${version}.tar.bz2)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd mp4v2-$version
|
cd mp4v2-$version
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make
|
make
|
||||||
make DESTDIR=$PKG install
|
make DESTDIR=$PKG install
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue