1.4 and mp4 tags

Rich rich at hq.vsaa.lv
Thu Dec 11 12:41:43 UTC 2008


i know, i know, you all are busy with 2.0 - but anyway :)

a library that amarok relied on for some of it's functionality (mp4 tag 
editing) has vanished.

amarok 1.4 relies on mpeg4ip lib to support mp4 tag writing, but this 
lib is discontinued and there isn't even a download available anymore 
(http://mpeg4ip.sourceforge.net/downloads/index.php).
there's a continued project (http://code.google.com/p/mp4v2/), but it 
doesn't work - instead of mp4.h it has mp4v2.h (and probably other changes)

after some mucking around it turned out that amarok only needs trivial 
changes to work with this lib (all my problems disappeared after 'make 
clean' ;) )

i have tested it, and amarok can write mp4 tags now.
note, i'm not sure about comment regarding mp4_config.h - couldn't find 
such a file on my system, so maybe those undefs aren't needed anymore.

diff of simple changes i did :

$ svn diff
Index: src/metadata/mp4/mp4tag.h
===================================================================
--- src/metadata/mp4/mp4tag.h   (revision 894183)
+++ src/metadata/mp4/mp4tag.h   (working copy)
@@ -23,7 +23,7 @@

  #include <tag.h>
  #include "mp4file.h"
-#include <mp4.h>
+#include <mp4v2.h>

  namespace TagLib {

Index: src/metadata/mp4/mp4properties.h
===================================================================
--- src/metadata/mp4/mp4properties.h    (revision 894183)
+++ src/metadata/mp4/mp4properties.h    (working copy)
@@ -24,8 +24,8 @@

  #include <audioproperties.h>
  #include <tstring.h>
-#include <mp4.h>
-// mp4.h drags in mp4_config.h that defines these
+#include <mp4v2.h>
+// mp4v2.h drags in mp4_config.h that defines these
  // get rid of them so they don't conflict with our config.h
  #undef VERSION
  #undef PACKAGE
Index: configure.in.in
===================================================================
--- configure.in.in     (revision 894183)
+++ configure.in.in     (working copy)
@@ -966,7 +966,7 @@
      AC_LANG_SAVE
      AC_LANG_CPLUSPLUS
      ac_cxxflags_save=$CXXFLAGS
-    CXXFLAGS="$CXXFLAGS -I$mp4v2_dir/include"
+    CXXFLAGS="$CXXFLAGS -I$mp4v2_dir/include/mp4v2"
      ac_ldflags_save=$LDFLAGS
      LDFLAGS="$LDFLAGS -L$mp4v2_dir/lib"

@@ -977,7 +977,7 @@
      ac_cppflags_save=$CPPFLAGS
      CPPFLAGS="$CPPFLAGS -I."
      AC_CHECK_HEADERS(systems.h)
-    AC_CHECK_HEADERS([mp4.h], [have_mp4_h=yes], [],
+    AC_CHECK_HEADERS([mp4v2.h], [have_mp4_h=yes], [],
          [#ifdef HAVE_SYSTEMS_H
           # include <systems.h>
           #endif
@@ -987,7 +987,7 @@

      if test "$have_mp4v2" = "yes" -a "$have_mp4_h" = "yes"; then
          AC_DEFINE(HAVE_MP4V2, 1, [have mp4v2])
-        MP4V2_INCLUDES="-I$mp4v2_dir/include"
+        MP4V2_INCLUDES="-I$mp4v2_dir/include/mp4v2"
          MP4V2_LIBS="-L$mp4v2_dir/lib -lmp4v2"
      else
          have_mp4v2=no
-- 
  Rich



More information about the Amarok mailing list