+++ /dev/null
-$(eval $(call import.MODULE.defs,LIBMP4V2,libmp4v2))
-$(eval $(call import.CONTRIB.defs,LIBMP4V2))
-
-LIBMP4V2.FETCH.url = http://download.m0k.org/handbrake/contrib/libmp4v2-2.0-r290.tar.gz
-LIBMP4V2.EXTRACT.tarbase = libmp4v2
-
-## propagate more flags
-LIBMP4V2.CONFIGURE.env.CFLAGS = CFLAGS="$(call fn.ARGS,LIBMP4V2.GCC,*archs *D .g .O)"
-LIBMP4V2.CONFIGURE.env.CXXFLAGS = CXXFLAGS="$(call fn.ARGS,LIBMP4V2.GCC,*archs *D .g .O)"
-
-## save some build-time by disabling utils
-LIBMP4V2.CONFIGURE.extra += --disable-util
-
-## make sure gch is disabled; we get build errors on linux with gcc-4.3.x and -g3
-LIBMP4V2.CONFIGURE.extra += --disable-gch
+++ /dev/null
-$(eval $(call import.MODULE.rules,LIBMP4V2))
-$(eval $(call import.CONTRIB.rules,LIBMP4V2))
--- /dev/null
+$(eval $(call import.MODULE.defs,MP4V2,mp4v2))
+$(eval $(call import.CONTRIB.defs,MP4V2))
+
+MP4V2.FETCH.url = http://download.m0k.org/handbrake/contrib/mp4v2-trunk-r349.tar.bz2
+
+## propagate more flags
+MP4V2.CONFIGURE.env.CFLAGS = CFLAGS="$(call fn.ARGS,MP4V2.GCC,*archs *D .g .O)"
+MP4V2.CONFIGURE.env.CXXFLAGS = CXXFLAGS="$(call fn.ARGS,MP4V2.GCC,*archs *D .g .O)"
+
+## save some build-time by disabling utils
+MP4V2.CONFIGURE.extra += --disable-util
+
+## make sure gch is disabled; we get build errors on linux with gcc-4.3.x and -g3
+## relatively safe to enable for darwin as it is unlikely to have that bugged version
+ifneq (darwin,$(BUILD.system))
+ MP4V2.CONFIGURE.extra += --disable-gch
+endif
--- /dev/null
+$(eval $(call import.MODULE.rules,MP4V2))
+$(eval $(call import.CONTRIB.rules,MP4V2))
@anchor{terminal.targets.contrib}
@subsection Contrib Modules
-Contrib modules such as @samp{a52dec}, @samp{bzip2}, @samp{faac}, @samp{faad2}, @samp{ffmpeg}, @samp{lame}, @samp{libdca}, @samp{libdvdread}, @samp{libmkv}, @samp{libmp4v2}, @samp{libogg}, @samp{libsamplerate}, @samp{libtheora}, @samp{libvorbis}, @samp{mpeg2dec}, @samp{x264}, @samp{xvidcore} and @samp{zlib} have the following scoped targets:
+Contrib modules such as @samp{a52dec}, @samp{bzip2}, @samp{faac}, @samp{faad2}, @samp{ffmpeg}, @samp{lame}, @samp{libdca}, @samp{libdvdread}, @samp{libmkv}, @samp{libogg}, @samp{libsamplerate}, @samp{libtheora}, @samp{libvorbis}, @samp{mp4v2}, @samp{mpeg2dec}, @samp{x264}, @samp{xvidcore} and @samp{zlib} have the following scoped targets:
@table @samp
@item make @i{MODULE}.fetch
The following general tools are used on various platforms and it is recommended you use these versions or similar:
@itemize @bullet
-@item subversion - 1.5.5
+@item subversion - 1.6.2
@item python - Python 2.4.6
-@item curl - curl 7.19.3 (or wget)
+@item curl - curl 7.19.4 (or wget)
@item m4 - GNU M4 1.4.6
@item make - GNU Make 3.81
@item patch - Patch 2.5.8
__deps__ := A52DEC BZIP2 FAAC FAAD2 FFMPEG LAME LIBDCA \
- LIBDVDREAD LIBDVDNAV LIBMKV LIBMP4V2 LIBOGG LIBSAMPLERATE LIBTHEORA \
- LIBVORBIS MPEG2DEC PTHREADW32 X264 XVIDCORE ZLIB
+ LIBDVDREAD LIBDVDNAV LIBMKV LIBOGG LIBSAMPLERATE LIBTHEORA LIBVORBIS \
+ MP4V2 MPEG2DEC PTHREADW32 X264 XVIDCORE ZLIB
$(eval $(call import.MODULE.defs,LIBHB,libhb,$(__deps__)))
$(eval $(call import.GCC,LIBHB))
subtitle->mux_data = mux_data;
mux_data->subtitle = 1;
mux_data->sub_format = subtitle->format;
- mux_data->track = MP4AddSubtitleTrack( m->file, 1 );
+ mux_data->track = MP4AddSubtitleTrack( m->file, 90000, width, height );
MP4SetTrackLanguage(m->file, mux_data->track, subtitle->iso639_2);
MP4SetTrackIntegerProperty(m->file, mux_data->track, "tkhd.alternate_group", 2);
- MP4SetTrackFloatProperty(m->file, mux_data->track, "tkhd.width", width);
- MP4SetTrackFloatProperty(m->file, mux_data->track, "tkhd.height", height);
-
MP4SetTrackIntegerProperty(m->file, mux_data->track, "mdia.minf.stbl.stsd.tx3g.dataReferenceIndex", 1);
MP4SetTrackIntegerProperty(m->file, mux_data->track, "mdia.minf.stbl.stsd.tx3g.horizontalJustification", 1);
MP4SetTrackIntegerProperty(m->file, mux_data->track, "mdia.minf.stbl.stsd.tx3g.verticalJustification", 0);
MP4TagsFetch( tags, m->file );
/* populate */
- MP4TagsSetName( tags, md->name );
- MP4TagsSetArtist( tags, md->artist );
- MP4TagsSetComposer( tags, md->composer );
- MP4TagsSetComments( tags, md->comment );
- MP4TagsSetReleaseDate( tags, md->release_date );
- MP4TagsSetAlbum( tags, md->album );
- MP4TagsSetGenre( tags, md->genre );
+ if( strlen( md->name ))
+ MP4TagsSetName( tags, md->name );
+ if( strlen( md->artist ))
+ MP4TagsSetArtist( tags, md->artist );
+ if( strlen( md->composer ))
+ MP4TagsSetComposer( tags, md->composer );
+ if( strlen( md->comment ))
+ MP4TagsSetComments( tags, md->comment );
+ if( strlen( md->release_date ))
+ MP4TagsSetReleaseDate( tags, md->release_date );
+ if( strlen( md->album ))
+ MP4TagsSetAlbum( tags, md->album );
+ if( strlen( md->genre ))
+ MP4TagsSetGenre( tags, md->genre );
if( md->coverart )
{
MODULES += contrib/libdvdread
MODULES += contrib/libdvdnav
MODULES += contrib/libmkv
-MODULES += contrib/libmp4v2
MODULES += contrib/libogg
MODULES += contrib/libsamplerate
MODULES += contrib/libtheora
MODULES += contrib/libvorbis
+MODULES += contrib/mp4v2
MODULES += contrib/mpeg2dec
ifneq (,$(filter $(BUILD.system),mingw))