Magellan Linux

Annotation of /trunk/libfaac/patches/libfaac-1.28-libmp4v2-200.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2418 - (hide annotations) (download)
Thu Mar 6 10:40:11 2014 UTC (10 years, 3 months ago) by niro
File size: 4740 byte(s)
-fix build with libfaac-2.0.0
1 niro 2418 http://bugs.gentoo.org/397575
2     http://sourceforge.net/tracker/?func=detail&aid=3476707&group_id=704&atid=100704
3    
4     --- configure.in
5     +++ configure.in
6     @@ -33,8 +33,8 @@ AC_CHECK_LIB(gnugetopt, getopt_long)
7     AM_CONDITIONAL(WITH_MP4V2, false)
8     AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, false)
9    
10     -AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
11     - AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
12     +AC_CHECK_DECLS([MP4Create],
13     + AC_CHECK_LIB(mp4v2, MP4Create, external_mp4v2=yes,
14     external_mp4v2=no, -lstdc++),
15     external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
16    
17     @@ -42,6 +42,7 @@ if test x$external_mp4v2 = xyes; then
18     AC_MSG_NOTICE([*** Building with external mp4v2 ***])
19     MY_DEFINE(HAVE_EXTERNAL_LIBMP4V2)
20     AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, true)
21     + AC_CHECK_DECLS([MP4TagsAlloc], [], [], [#include <mp4v2/mp4v2.h>])
22     else
23     if test x$WITHMP4V2 = xyes; then
24     AC_MSG_NOTICE([*** Building with internal mp4v2 ***])
25     --- frontend/main.c
26     +++ frontend/main.c
27     @@ -873,8 +873,12 @@ int main(int argc, char *argv[])
28     if (!faacEncSetConfiguration(hEncoder, myFormat)) {
29     fprintf(stderr, "Unsupported output format!\n");
30     #ifdef HAVE_LIBMP4V2
31     +#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */
32     + if (container == MP4_CONTAINER) MP4Close(MP4hFile, 0);
33     +#else
34     if (container == MP4_CONTAINER) MP4Close(MP4hFile);
35     #endif
36     +#endif
37     return 1;
38     }
39    
40     @@ -885,12 +889,10 @@ int main(int argc, char *argv[])
41     unsigned long ASCLength = 0;
42     char *version_string;
43    
44     -#ifdef MP4_CREATE_EXTENSIBLE_FORMAT
45     - /* hack to compile against libmp4v2 >= 1.0RC3
46     - * why is there no version identifier in mp4.h? */
47     +#ifdef MP4_DETAILS_ERROR /* r453 fix */
48     MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0);
49     #else
50     - MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0, 0);
51     + MP4hFile = MP4Create(aacFileName, 0);
52     #endif
53     if (!MP4_IS_VALID_FILE_HANDLE(MP4hFile)) {
54     fprintf(stderr, "Couldn't create output file %s\n", aacFileName);
55     @@ -905,12 +907,22 @@ int main(int argc, char *argv[])
56     free(ASC);
57    
58     /* set metadata */
59     +#if HAVE_DECL_MP4TAGSALLOC
60     + const MP4Tags* tags;
61     + tags = MP4TagsAlloc();
62     + MP4TagsFetch( tags, MP4hFile );
63     +#endif
64     version_string = malloc(strlen(faac_id_string) + 6);
65     strcpy(version_string, "FAAC ");
66     strcpy(version_string + 5, faac_id_string);
67     +#if !HAVE_DECL_MP4TAGSALLOC
68     MP4SetMetadataTool(MP4hFile, version_string);
69     +#else
70     + MP4TagsSetEncodingTool(tags, version_string);
71     +#endif
72     free(version_string);
73    
74     +#if !HAVE_DECL_MP4TAGSALLOC
75     if (artist) MP4SetMetadataArtist(MP4hFile, artist);
76     if (writer) MP4SetMetadataWriter(MP4hFile, writer);
77     if (title) MP4SetMetadataName(MP4hFile, title);
78     @@ -923,8 +935,40 @@ int main(int argc, char *argv[])
79     if (comment) MP4SetMetadataComment(MP4hFile, comment);
80     if (artSize) {
81     MP4SetMetadataCoverArt(MP4hFile, art, artSize);
82     +#else
83     + if (artist) MP4TagsSetArtist(tags, artist);
84     + if (writer) MP4TagsSetComposer(tags, writer);
85     + if (title) MP4TagsSetName(tags, title);
86     + if (album) MP4TagsSetAlbum(tags, album);
87     + if (trackno > 0) {
88     + MP4TagTrack tt;
89     + tt.index = trackno;
90     + tt.total = ntracks;
91     + MP4TagsSetTrack(tags, &tt);
92     + }
93     + if (discno > 0) {
94     + MP4TagDisk td;
95     + td.index = discno;
96     + td.total = ndiscs;
97     + MP4TagsSetDisk(tags, &td);
98     + }
99     + if (compilation) MP4TagsSetCompilation(tags, compilation);
100     + if (year) MP4TagsSetReleaseDate(tags, year);
101     + if (genre) MP4TagsSetGenre(tags, genre);
102     + if (comment) MP4TagsSetComments(tags, comment);
103     + if (artSize) {
104     + MP4TagArtwork mp4art;
105     + mp4art.data = art;
106     + mp4art.size = artSize;
107     + mp4art.type = MP4_ART_UNDEFINED; // delegate typing to libmp4v2
108     + MP4TagsAddArtwork( tags, &mp4art );
109     +#endif
110     free(art);
111     }
112     +#if HAVE_DECL_MP4TAGSALLOC
113     + MP4TagsStore( tags, MP4hFile );
114     + MP4TagsFree( tags );
115     +#endif
116     }
117     else
118     {
119     @@ -1141,11 +1185,19 @@ int main(int argc, char *argv[])
120     /* clean up */
121     if (container == MP4_CONTAINER)
122     {
123     +#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */
124     + MP4Close(MP4hFile, 0);
125     +#else
126     MP4Close(MP4hFile);
127     +#endif
128     if (optimizeFlag == 1)
129     {
130     fprintf(stderr, "\n\nMP4 format optimization... ");
131     +#ifdef MP4_DETAILS_ERROR /* r453 fix */
132     MP4Optimize(aacFileName, NULL, 0);
133     +#else
134     + MP4Optimize(aacFileName, NULL);
135     +#endif
136     fprintf(stderr, "Done!");
137     }
138     } else