[Cvs-annodex] commit (annodex):
AnnodexFirefoxExtension/trunk/Docs/DevDoc_MediaEngineAddendum.html
+AnnodexFirefoxExtension/trunk/Docs/Patches/
+AnnodexFirefoxExtension/trunk/Docs/Patches/VLC-0.85.patch
cchiu
nobody at lists.annodex.net
Wed Jun 14 07:09:22 UTC 2006
Update of /var/local/lib/svn/annodex (new revision 2332)
Added files:
AnnodexFirefoxExtension/trunk/Docs/Patches/
AnnodexFirefoxExtension/trunk/Docs/Patches/VLC-0.85.patch
Modified files:
AnnodexFirefoxExtension/trunk/Docs/DevDoc_MediaEngineAddendum.html
Log Message:
Updated documentation to compile in VLC version 0.85
Modified: AnnodexFirefoxExtension/trunk/Docs/DevDoc_MediaEngineAddendum.html
===================================================================
--- AnnodexFirefoxExtension/trunk/Docs/DevDoc_MediaEngineAddendum.html 2006-06-13 08:25:50 UTC (rev 2331)
+++ AnnodexFirefoxExtension/trunk/Docs/DevDoc_MediaEngineAddendum.html 2006-06-14 07:09:21 UTC (rev 2332)
@@ -28,9 +28,21 @@
</tr>
</table>
-<p>These steps give a walkthrough in the process of compilation, to
+<h2>Introduction</h2>
+
+
+<p>This document steps through in the process of compilation, to
address issues covered in the relevant sections for each operating system when
-compiled using current system environments. The compiled Mozilla plug-in will be located in the
+compiled using current system environments. It is <i>impossible</i> to cover all
+the possible scenarios of errors resulting in the compilation process, but
+rather serves as a general overview of the process to get you started in the VLC
+open source environment. The most likely issue you will encounter while
+compiling is the issue of ensuring the correct dependencies are setup correctly,
+to the compilation flags used in the makefile. In such circumstances, the first
+point of reference is to look at the <i>Further Information</i> section below.</p>
+
+
+<p>If the entire compilation process is successful, the Mozilla plug-in will be located in the
<font face="Courier New">/src</font> directory under the following file
types/linked libraries:</p>
@@ -53,7 +65,7 @@
<ul>
- <li><b>Cygwin:</b> Windows XP on Cywin version 1.5.19-4</li>
+ <li><b>Cygwin:</b> Windows XP SP2 on Cywin version 1.5.19-4</li>
<li><b>MacOS:</b> version 10.4 (Codename Tiger)</li>
<li><b>Linux: </b>Ubuntu version 0.6 (Codename Dapper)</li>
</ul>
@@ -74,6 +86,9 @@
<a href="http://www.via.ecp.fr/via/ml/vlc-devel/2004-04/msg00019.html">VLC
Compilation Tips</a>: To compile MediaEngine plug-in using Mozilla's console
function to print diagnostics and debug messages.</li>
+ <li>
+ <a href="http://forum.videolan.org/">VLC Development Forum</a>: Forum
+ discussion and support for VLC media player.</li>
</ul>
@@ -153,6 +168,45 @@
</font></li>
<li>In the <font face="Courier New">/MediaEngines/VLC/src</font> directory run
the following script <font face="Courier New">./Build</font></li></ol>
+<h3>Cygwin Configuration Changes for VLC Version 0.8.5:</h3>
+<ol>
+ <li>Setup the latest win32 pre-assembled libraries for VLC by extracting the
+ archive and copying it to the root <font face="Courier New">cygwin</font> directory.
+ <br>The <font face="Courier New">contrib</font> tarball archive can be found
+ in the following location:
+ <a href="http://download.videolan.org/pub/testing/win32/contrib-20060526-win32-bin-gcc-3.4.5-only.tar.bz2">http://download.videolan.org/pub/testing/win32/</a><br>
+ </li>
+ <li>Checkout the 0.85 tag of the VLC source on Subversion at the following
+ location to a directory of your choice:
+ <a href="svn://svn.videolan.org/vlc/tags/0.8.5">svn://svn.videolan.org/vlc/tags/0.8.5</a><br>
+ </li>
+ <li>Using the VLC 0.85 patch located at
+ <font face="Courier New">/Docs/Patches/VLC-0.85.patch</font>, copy the diff
+ file to the VLC source you checked out and patch the source as follows:<br>
+ <font face="Courier New">patch -p0 "$@" < VLC-0.85.patch<br>
+ </font></li>
+ <li>Make the following changes to the relevant files:<ul>
+ <li> <font face="Courier New">./Configure.cygwin</font>: The static values
+ <font face="Courier New">CPPFLAGS</font>, <font face="Courier New">LDFLAGS</font>,
+ <font face="Courier New">XPIDL</font>, <font face="Courier New">XPIDL_INCL</font>
+ and <font face="Courier New">--with-mozilla-sdk-path</font> need to be
+ modified to specify the absolute path of the contribution libraries and
+ Gecko-SDK.<br>
+ <i>Note:</i> The values used in the Makefile are the default paths of the
+ resources.</li>
+ <li> <font face="Courier New">./mozilla/Makefile.am</font>: The path of the
+ VLCIDL file needs to be modified for Cygwin users in the form:
+ <font face="Courier New">VLCIDL_FILE = "c:\{Path of VLC
+ Source}/mozilla/vlcintf.idl"<br>
+ </font><i>Note:</i> This is because the XPIDL application that generates the
+ XPT and header files accepts Windows file paths in the command line, but has
+ to be altered due to the way Cywin interprets such file paths.<br>
+ </li>
+ </ul>
+ </li>
+ <li>In the directory where you have checked out the source, run
+ the following script <font face="Courier New">./Build</font></li>
+</ol>
<h2><a name="2.0_MacOS">2.0 Installation of the Annodex Firefox Extension in
MacOS</a></h2>
@@ -211,6 +265,49 @@
</font></li>
<li>In the <font face="Courier New">/MediaEngines/VLC/src</font> directory run
the following script <font face="Courier New">./Build</font></li></ol>
+<h3>MacOS Configuration Changes for VLC Version 0.8.5:</h3>
+<ol>
+ <li>Checkout the 0.85 tag of the VLC source on Subversion at the following
+ location to a directory of your choice:
+ <a href="svn://svn.videolan.org/vlc/tags/0.8.5">svn://svn.videolan.org/vlc/tags/0.8.5</a><br>
+ </li>
+ <li>Using the VLC 0.85 patch located at
+ <font face="Courier New">/Docs/Patches/VLC-0.85.patch</font>, copy the diff
+ file to the VLC source you checked out and patch the source as follows:<br>
+ <font face="Courier New">patch -p0 "$@" < VLC-0.85.patch<br>
+ </font></li>
+ <li>Compile the necessary dependencies from source in your VLC Source
+ directory, which should take between 1 to 4 hours depending to complete:
+ <font face="Courier New">{Path of VLC Source}/extras/contrib<br>
+ </font>Do not bootstrap, but modify the <font face="Courier New">config.mak</font>
+ file to suit your system architecture (Universal x86 compilation can run into
+ various issues, but this is beyond the scope of the documentation) and MacOS
+ Developer SDK version.<br>
+ Run the command: <font face="Courier New">make src<br>
+ </font></li>
+ <li>Make the following changes to the relevant files:<ul>
+ <li> <font face="Courier New">./Configure.darwin</font>: The static values
+ <font face="Courier New">CPPFLAGS</font>, <font face="Courier New">LDFLAGS</font>,
+ <font face="Courier New">PATH</font>, <font face="Courier New">
+ PKG_CONFIG_PATHS</font>, <font face="Courier New">XPIDL</font>,
+ <font face="Courier New">XPIDL_INCL</font> and <font face="Courier New">
+ --with-mozilla-sdk-path</font> need to be modified to specify the absolute
+ path of the contribution libraries compiled in step 3 and the Gecko-SDK.<br>
+ <i>Note:</i> The values used in the Makefile are the default paths of the
+ resources, while <font face="Courier New">{Path of VLC Source}</font> is the
+ path of the VLC source you have checked out.<br>
+ </li>
+ </ul>
+ </li>
+ <li>In the directory where you have checked out the source, run
+ the following script <font face="Courier New">./Build<br>
+ </font></li>
+ <li>Additionally, when it comes to packaging the plug-in, you must ensure it
+ is saved in the default Firefox plugins directory, <b><i>not</i></b> the user
+ profile's directory.<br>
+ By default, the directory is located at <font face="Courier New">
+ /Library/Internet Plug-Ins</font></li>
+</ol>
<h3>MacOS XPI Packaging Configuration Changes:</h3>
<p>In addition to compilation, to package a plug-in for MacOS systems, there is
an additional requirement due to the nature of the MacOS HFS file system. More
@@ -269,7 +366,7 @@
</li>
</ul>
</li>
- <li>Download the stable Mozilla SDK from Mozilla.org at this location:
+ <li>Download the stable Gecko SDK from Mozilla.org at this location:
<a class="ext-link" href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7rc3/gecko-sdk-i686-pc-linux-gnu-1.7rc3.tar.gz">
http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7rc3/gecko-sdk-i686-pc-linux-gnu-1.7rc3.tar.gz</a>.<br>
It is recommended to extract the file within the same relative path of the
@@ -298,6 +395,45 @@
<li>In the <font face="Courier New">/MediaEngines/VLC/src</font> directory run
the following script <font face="Courier New">./Build</font></li></ol>
+<h3>Linux Configuration Changes for VLC Version 0.8.5:</h3>
+<ol>
+ <li>Download the stable Gecko SDK from Mozilla.org at this location:
+ <a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/latest-trunk/">
+ http://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/latest-trunk/</a><br>
+ It is recommended to extract the file within the same relative path of the
+ source directory, but not essential.<br>
+ </li>
+ <li>Checkout the 0.85 tag of the VLC source on Subversion at the following
+ location to a directory of your choice:
+ <a href="svn://svn.videolan.org/vlc/tags/0.8.5">svn://svn.videolan.org/vlc/tags/0.8.5</a><br>
+ </li>
+ <li>Using the VLC 0.85 patch located at
+ <font face="Courier New">/Docs/Patches/VLC-0.85.patch</font>, copy the diff
+ file to the VLC source you checked out and patch the source as follows:<br>
+ <font face="Courier New">patch -p0 "$@" < VLC-0.85.patch<br>
+ </font></li>
+ <li>Make the following changes to the relevant files:<ul>
+ <li> <font face="Courier New">./Configure.linux</font>: The static values
+ <font face="Courier New">CPPFLAGS</font>, <font face="Courier New">LDFLAGS</font>,
+ <font face="Courier New">XPIDL</font>, <font face="Courier New">XPIDL_INCL</font>
+ and <font face="Courier New">--with-mozilla-sdk-path</font> need to be
+ modified to specify the absolute path of the contribution libraries compiled
+ in step 3 and the Gecko-SDK.<br>
+ <i>Note:</i> The values used in the Makefile are the default paths of the
+ resources, while <font face="Courier New">{Path of VLC Source}</font> is the
+ path of the VLC source you have checked out.<br>
+ </li>
+ </ul>
+ </li>
+ <li>In the directory where you have checked out the source, run
+ the following script <font face="Courier New">./Build<br>
+ </font></li>
+ <li>Additionally, when it comes to packaging the plug-in, you must ensure it
+ is saved in the default Firefox plugins directory, <b><i>not</i></b> the user
+ profile's directory.<br>
+ By default, the directory is located at <font face="Courier New">/usr/lib/firefox/plugins</font></li>
+</ol>
+
</body>
</html>
\ No newline at end of file
Added: AnnodexFirefoxExtension/trunk/Docs/Patches/VLC-0.85.patch
===================================================================
--- AnnodexFirefoxExtension/trunk/Docs/Patches/VLC-0.85.patch 2006-06-13 08:25:50 UTC (rev 2331)
+++ AnnodexFirefoxExtension/trunk/Docs/Patches/VLC-0.85.patch 2006-06-14 07:09:21 UTC (rev 2332)
@@ -0,0 +1,1242 @@
+Index: Build
+===================================================================
+--- Build (revision 0)
++++ Build (revision 0)
+@@ -0,0 +1,16 @@
++#!/bin/sh
++
++set -e
++
++
++! [ -x ./configure ] && (./bootstrap)
++
++SYSTEM=`uname | tr A-Z a-z | sed -e s'/_.*$//'`
++
++./Configure.$SYSTEM
++
++# build it!
++make
++
++# ( cd mozilla && make )
++
+Index: configure.ac
+===================================================================
+--- configure.ac (revision 15815)
++++ configure.ac (working copy)
+@@ -1,6 +1,6 @@
+ dnl Autoconf settings for vlc
+
+-AC_INIT(vlc,0.8.5)
++AC_INIT(vlc,0.8.5-annodex)
+ VERSION_MAJOR="0"
+ VERSION_MINOR="8"
+ VERSION_REVISION="5"
+@@ -16,7 +16,7 @@
+
+ dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
+ dnl them. And we need the comma otherwize automake will choke on it.
+-AM_INIT_AUTOMAKE(vlc,0.8.5)
++AM_INIT_AUTOMAKE(vlc,0.8.5-annodex)
+ AM_CONFIG_HEADER(config.h)
+
+ dnl Too many people are not aware of maintainer mode:
+@@ -2223,7 +2223,7 @@
+ else
+ AC_CHECK_HEADERS(ogg/ogg.h, [
+ AC_CHECK_LIB( ogg, oggpack_read, [
+- VLC_ADD_PLUGINS([ogg])
++ VLC_ADD_BUILTINS([ogg])
+ if test "${enable_sout}" != "no"; then
+ VLC_ADD_PLUGINS([mux_ogg])
+ fi
+@@ -2669,7 +2669,6 @@
+ fi
+ dnl Use a custom libffmpeg
+ AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
+- VLC_ADD_BUILTINS([ffmpegaltivec])
+ VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
+ VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
+ VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
+@@ -2721,10 +2720,8 @@
+ AC_CHECK_HEADERS(faad.h, ,
+ [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
+ AC_CHECK_LIB(faad, faacDecOpen, [
+- VLC_ADD_PLUGINS([faad])
+ VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
+ AC_CHECK_LIB(faad, NeAACDecOpen, [
+- VLC_ADD_PLUGINS([faad])
+ VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
+ [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
+ LDFLAGS="${LDFLAGS_save}"
+@@ -2786,7 +2783,7 @@
+ (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
+ then
+ if test "${SYS}" = "mingw32"; then
+- VLC_ADD_BUILTINS([quicktime])
++ : # do nothing
+ else
+ AC_CHECK_HEADERS(QuickTime/QuickTime.h,
+ [ VLC_ADD_BUILTINS([quicktime])
+@@ -2862,7 +2859,6 @@
+ VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
+ LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
+ AC_CHECK_LIB(a52, a52_free, [
+- VLC_ADD_BUILTINS([a52tofloat32])
+ VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
+ VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
+ ],[
+@@ -2938,7 +2934,6 @@
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+ ],[
+ AC_CHECK_LIB(dts, dts_free, [
+- VLC_ADD_BUILTINS([dtstofloat32])
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+ ],[
+ if test -f ${real_dts_tree}/libdts/libdts.a
+@@ -2962,7 +2957,6 @@
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+ ],[
+ AC_CHECK_LIB(dts, dts_free, [
+- VLC_ADD_BUILTINS([dtstofloat32])
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+ ],[
+ if test "${enable_dts}" = "yes"; then
+@@ -3036,7 +3030,6 @@
+ then
+ dnl Use a custom libmpeg2
+ AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
+- VLC_ADD_BUILTINS([libmpeg2])
+ VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
+ VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
+ eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
+@@ -3056,8 +3049,7 @@
+ #endif
+ #endif],
+ [AC_MSG_RESULT([yes])
+- VLC_ADD_PLUGINS([libmpeg2])
+- VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
++ VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
+
+@@ -3099,7 +3091,7 @@
+ fi
+ else
+ AC_CHECK_HEADERS(vorbis/codec.h, [
+- VLC_ADD_PLUGINS([vorbis])
++ VLC_ADD_BUILTINS([vorbis])
+ VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
+
+ AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
+@@ -3155,7 +3147,7 @@
+ AC_CHECK_HEADERS(speex/speex.h, [
+ LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
+ AC_CHECK_LIB(speex, speex_decode_int, [
+- VLC_ADD_PLUGINS([speex])
++ VLC_ADD_BUILTINS([speex])
+ VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
+ [ AC_MSG_RESULT([no])
+ AC_MSG_WARN([Your libspeex is too old, please get the development
+@@ -3180,7 +3172,6 @@
+ real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
+ if test -f "${real_tarkin_tree}/tarkin.o"
+ then
+- VLC_ADD_BUILTINS([tarkin])
+ VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
+ VLC_ADD_LDFLAGS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
+ AC_MSG_RESULT(yes)
+@@ -3202,8 +3193,8 @@
+ then
+ AC_CHECK_HEADERS(theora/theora.h, [
+ AC_CHECK_LIB(theora, theora_granule_time, [
+- if test "${SYS}" = "mingw32"; then
+- VLC_ADD_PLUGINS([theora])
++ if test "${SYS}" = "mingw32" -o test "${SYS}" = "linux"; then
++ VLC_ADD_BUILTINS([theora])
+ else
+ VLC_ADD_BUILTINS([theora])
+ fi
+@@ -3224,7 +3215,7 @@
+ PKG_CHECK_MODULES(DIRAC,dirac, [
+ VLC_ADD_PLUGINS([dirac])
+ VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
+- VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
++ VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -ldirac_motionest -ldirac_common]) ],[
+ AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
+ ])
+ fi
+@@ -3239,7 +3230,6 @@
+ LDFLAGS="${LDFLAGS_save} -lz"
+ AC_CHECK_LIB(png, png_set_rows, [
+ VLC_ADD_LDFLAGS([png],[-lpng -lz])
+- VLC_ADD_PLUGINS([png])
+ VLC_ADD_PLUGINS([osdmenu])
+ AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
+ [],[-lz])
+@@ -3273,7 +3263,6 @@
+ VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
+ LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
+ AC_CHECK_LIB(x264, x264_encoder_open, [
+- VLC_ADD_BUILTINS([x264])
+ VLC_ADD_LDFLAGS([x264],[-lx264])
+ ],[
+ AC_MSG_ERROR([the specified tree hasn't been compiled])
+@@ -3306,7 +3295,7 @@
+ [ --enable-cmml CMML support (default enabled)])
+ if test "${enable_cmml}" != "no"
+ then
+- VLC_ADD_PLUGINS([cmml])
++ VLC_ADD_BUILTINS([cmml])
+ fi
+
+
+@@ -3377,7 +3366,6 @@
+ VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
+ VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
+ ],[
+- VLC_ADD_BUILTINS([xvideo])
+ VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
+ VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
+ ])
+@@ -3605,7 +3593,6 @@
+
+ if test "${FREETYPE_CONFIG}" != "no"
+ then
+- VLC_ADD_PLUGINS([freetype])
+ VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
+ VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
+ AC_CHECK_HEADERS(Carbon/Carbon.h,
+@@ -3795,18 +3782,17 @@
+ if test -z "${with_directx}"
+ then
+ AC_CHECK_HEADERS(ddraw.h,
+- [ VLC_ADD_PLUGINS([vout_directx aout_directx])
++ [ VLC_ADD_BUILTINS([vout_directx aout_directx])
+ VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
+ dnl to be moved when dependance is removed
+ AC_CHECK_HEADERS(GL/gl.h, [
+- VLC_ADD_PLUGINS([glwin32])
+ VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
+ ]) ])
+ else
+ AC_MSG_CHECKING(for directX headers in ${with_directx})
+ if test -f ${with_directx}/ddraw.h
+ then
+- VLC_ADD_PLUGINS([vout_directx aout_directx])
++ VLC_ADD_BUILTINS([vout_directx aout_directx])
+ VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
+ VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
+ AC_MSG_RESULT(yes)
+@@ -3976,7 +3962,7 @@
+ [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
+ if test "${enable_wingdi}" != "no"; then
+ if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
+- VLC_ADD_PLUGINS([wingdi])
++ VLC_ADD_BUILTINS([wingdi])
+ VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
+ fi
+ if test "${SYS}" = "mingwce"; then
+@@ -4703,7 +4689,7 @@
+ [ --enable-visual visualisation plugin (default enabled)])
+ if test "${enable_visual}" != "no"
+ then
+- VLC_ADD_PLUGINS([visual])
++ :
+ fi
+
+ dnl
+@@ -4746,7 +4732,6 @@
+ fi
+ if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
+ AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
+- VLC_ADD_BUILTINS([goom])
+ VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
+ VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
+ else
+@@ -4755,7 +4740,6 @@
+ AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
+ if test -f "${real_goom_tree}/libgoom.a"; then
+ AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
+- VLC_ADD_BUILTINS([goom])
+ VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
+ VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
+ else
+Index: Configure.cygwin
+===================================================================
+--- Configure.cygwin (revision 0)
++++ Configure.cygwin (revision 0)
+@@ -0,0 +1,80 @@
++#!/bin/sh -x
++
++set -e
++
++CC="ccache gcc -mno-cygwin"
++CXX="ccache g++ -mno-cygwin"
++CFLAGS="-g"
++CXXFLAGS="-g"
++CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml -I/usr/win32/gecko-sdk/include"
++LDFLAGS="-L/usr/win32/lib -L/usr/win32/gecko-sdk/lib"
++
++XPIDL=/usr/win32/gecko-sdk/bin/xpidl.exe
++XPIDL_INCL="-Ic:\Cygwin/usr/win32/gecko-sdk/idl"
++
++export CC CXX CPPFLAGS LDFLAGS CFLAGS CXXFLAGS
++
++[ -x ./configure ] || (./bootstrap )
++
++exec ./configure \
++ --disable-a52 \
++ --disable-caca \
++ --disable-cdda \
++ --disable-cddax \
++ --disable-debug \
++ --disable-dshow \
++ --disable-dts \
++ --disable-dvb \
++ --disable-dvbpsi \
++ --disable-dvdnav \
++ --disable-dvdread \
++ --disable-faad \
++ --disable-ffmpeg \
++ --disable-flac \
++ --disable-freetype \
++ --disable-fribidi \
++ --disable-glx \
++ --disable-gtk \
++ --disable-hd1000v \
++ --disable-httpd \
++ --disable-libcddb \
++ --disable-libcdio \
++ --disable-libmpeg2 \
++ --disable-libxml2 \
++ --disable-livedotcom \
++ --disable-mad \
++ --disable-mkv \
++ --disable-mod \
++ --disable-nls \
++ --disable-opengl \
++ --disable-qte \
++ --disable-satellite \
++ --disable-sdl \
++ --disable-skins2 \
++ --disable-sout \
++ --disable-speex \
++ --disable-svg \
++ --disable-tarkin \
++ --disable-toolame \
++ --disable-tremor \
++ --disable-v4l \
++ --disable-vcd \
++ --disable-vcdx \
++ --disable-vlm \
++ --disable-waveout \
++ --disable-wingdi \
++ --disable-wxwindows \
++ --disable-x11 \
++ --disable-x264 \
++ --disable-xvideo \
++ --enable-cmml \
++ --enable-directx \
++ --enable-mostly-builtin \
++ --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk \
++ --enable-ogg \
++ --enable-release \
++ --enable-optimization \
++ --enable-theora \
++ --enable-vorbis \
++ "$@" \
++ 2>&1 | tee configure.output
+Index: Configure.darwin
+===================================================================
+--- Configure.darwin (revision 0)
++++ Configure.darwin (revision 0)
+@@ -0,0 +1,17 @@
++#!/bin/sh -x
++
++set -e
++
++CPPFLAGS="-I/{Path of VLC Source}/extras/contrib/include -I/{Path of VLC Source}/extras/contrib/src/gecko-sdk/include"
++LDFLAGS="-L/{Path of VLC Source}/extras/contrib/lib -L/{Path of VLC Source}/extras/contrib/src/gecko-sdk/lib"
++PATH="/bin:/usr/bin:/{Path of VLC Source}/extras/contrib/bin:/{Path of VLC Source}/extras/contrib/src/gecko-sdk/bin"
++PKG_CONFIG_PATH="/{Path of VLC Source}/extras/contrib/lib/pkgconfig"
++export CPPFLAGS LDFLAGS PATH PKG_CONFIG_PATH
++
++XPIDL=/{Path of VLC Source}/extras/contrib/src/gecko-sdk/bin/xpidl
++XPIDL_INCL="-I/{Path of VLC Source}/extras/contrib/src/gecko-sdk/idl"
++export XPIDL XPIDL_INCL
++
++[ -x ./configure ] || ( ./bootstrap )
++
++exec ./configure --disable-a52 --disable-caca --disable-cdda --disable-cddax --disable-cmml --disable-daap --disable-dshow --disable-dts --disable-dvb --disable-dvbpsi --disable-dvdnav --disable-dvdread --disable-faad --disable-ffmpeg --disable-freetype --disable-fribidi --disable-glx --disable-gtk --disable-hd1000v --enable-httpd --disable-libcddb --disable-libcdio --disable-libmpeg2 --disable-debug --disable-libxml2 --disable-livedotcom --disable-mad --disable-mkv --disable-mod --disable-nls --disable-opengl --disable-qte --disable-satellite --disable-sdl --disable-sdl --disable-skins2 --disable-sout --disable-svg --disable-tarkin --disable-toolame --disable-tremor --disable-v4l --disable-vcd --disable-vcdx --disable-vlm --disable-waveout --disable-wingdi --disable-wxwindows --disable-x11 --disable-x264 --disable-xvideo --enable-optimization --enable-flac --enable-mozilla --with-mozilla-sdk-path=/{Path of VLC Source}/extras/contrib/src/gecko-sdk --enable-ogg --enable-speex --enable-theora --enable-vorbis --without-ffmpeg-faac --without-ffmpeg-mp3lame --without-libiconv-prefix
+Index: Configure.linux
+===================================================================
+--- Configure.linux (revision 0)
++++ Configure.linux (revision 0)
+@@ -0,0 +1,96 @@
++#!/bin/sh -x
++
++set -e
++
++CFLAGS="-g"
++
++arch=`uname -m`
++case "$arch" in
++ i?86)
++ # be compatible with as many x86 chips as pOSSIBLE
++ CFLAGS="$CFLAGS"
++ ;;
++ ppc)
++ # PowerPC doesn't support mixing PIC and non-PIC code, so make sure
++ # everything's compiled as PIC
++ CFLAGS="$CFLAGS -fPIC"
++esac
++
++DFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib -lXt"
++
++CPPFLAGS="-I/usr/include -I/usr/include/ebml -I/{Path of VLC Source}/gecko-sdk/include"
++LDFLAGS="-L/usr/lib -L/usr/X11R6/lib -lXt -L/{Path of VLC Source}/gecko-sdk/lib"
++
++XPIDL=/{Path of VLC Source}/gecko-sdk/bin/xpidl
++XPIDL_INCL="-I/{Path of VLC Source}/gecko-sdk/idl"
++
++export CFLAGS CPPFLAGS LDFLAGS XPIDL XPIDL_INCL
++
++[ -x ./configure ] || ( cd ./bootstrap )
++
++exec ./configure \
++ --disable-a52 \
++ --disable-alsa \
++ --disable-caca \
++ --disable-cdda \
++ --disable-cddax \
++ --disable-daap \
++ --disable-debug \
++ --disable-dshow \
++ --disable-dts \
++ --disable-dvb \
++ --disable-dvbpsi \
++ --disable-dvd \
++ --disable-dvdnav \
++ --disable-dvdread \
++ --disable-faad \
++ --disable-ffmpeg \
++ --disable-freetype \
++ --disable-fribidi \
++ --disable-glx \
++ --disable-gtk \
++ --disable-hd1000v \
++ --disable-libcddb \
++ --disable-libcdio \
++ --disable-libmpeg2 \
++ --disable-libxml2 \
++ --disable-livedotcom \
++ --disable-mad \
++ --disable-mkv \
++ --disable-mod \
++ --disable-nls \
++ --disable-opengl \
++ --disable-qte \
++ --disable-satellite \
++ --disable-sdl \
++ --disable-skins2 \
++ --disable-sout \
++ --disable-speex \
++ --disable-svg \
++ --disable-tarkin \
++ --disable-toolame \
++ --disable-tremor \
++ --disable-v4l \
++ --disable-vcd \
++ --disable-vcdx \
++ --disable-vlm \
++ --disable-waveout \
++ --disable-wingdi \
++ --disable-wxwindows \
++ --disable-x264 \
++ --enable-cmml \
++ --enable-flac \
++ --enable-httpd \
++ --enable-mozilla --with-mozilla-sdk-path=/{Path of VLC Source}/gecko-sdk \
++ --enable-ogg \
++ --enable-optimization \
++ --enable-plugins \
++ --enable-theora \
++ --enable-vorbis \
++ --enable-x11 \
++ --enable-xvideo \
++ --without-ffmpeg-faac \
++ --without-ffmpeg-mp3lame \
++ --without-libiconv-prefix \
++ "$@" \
++ 2>&1 | tee configure.output
+Index: extras/contrib/config.mak
+===================================================================
+--- extras/contrib/config.mak (revision 0)
++++ extras/contrib/config.mak (revision 0)
+@@ -0,0 +1,23 @@
++# Automatically generated by bootstrap.
++# Make changes if you know what you're doing.
++
++BUILD = powerpc-apple-darwin8
++HOST = powerpc-apple-darwin8
++PREFIX = /{Path of VLC Source}/extras/contrib
++SDK_TARGET = 10.4
++HAVE_DARWIN_OS = 1
++ENVP = MACOSX_DEPLOYMENT_TARGET=10.4
++MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk
++PATH = /bin:/usr/bin:/usr/local/bin
++CONTRIB_URL = http://download.videolan.org/pub/videolan/devtools/contrib-macosx.tar.bz2
++CC =
++CXX =
++LD =
++RANLIB =
++AR =
++EXTRA_CFLAGS = -D${ENVP} #-isysroot ${MACOSX_SDK}
++EXTRA_CPPFLAGS = -I/include
++EXTRA_LDFLAGS = -Wl,-syslibroot,${MACOSX_SDK}
++EXTRA_PATH =
++WGET = curl -O
++SVN = /usr/local/bin/svn
+Index: extras/contrib/src/Makefile
+===================================================================
+--- extras/contrib/src/Makefile (revision 15815)
++++ extras/contrib/src/Makefile (working copy)
+@@ -885,39 +885,22 @@
+ # ffmpeg
+ # ***************************************************************************
+
+-ffmpeg:
+- echo $(FFMPEG_CVSROOT) A > ./ffmpeg.cvs
+- CVS_PASSFILE=./ffmpeg.cvs cvs -z3 -d $(FFMPEG_CVSROOT) co ffmpeg
+-ifeq ($(HOST),i586-pc-beos)
+- (cd $@; patch -p 0 < ../Patches/ffmpeg-cvs-beos.patch)
+-endif
+-ifdef HAVE_WIN32
+- patch -p 0 < Patches/ffmpeg-cvs-win32.patch
+-endif
+-ifdef HAVE_WINCE
+- patch -p 1 < Patches/ffmpeg-cvs-wince.patch
+-endif
+-ifeq ($(HOST),i686-apple-darwin8)
+- (cd $@;patch -p 0 < ../Patches/ffmpeg-cvs-mactel.patch)
+-endif
+-
+ ffmpeg-$(FFMPEG_VERSION).tar.gz:
+ $(WGET) $(FFMPEG_URL)
+
+-#ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
+-# $(EXTRACT_GZ)
+-# patch -p 0 < Patches/ffmpeg.patch
++ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
++ $(EXTRACT_GZ)
+
+ ifdef HAVE_WINCE
+ .ffmpeg: ffmpeg .zlib
+ else
+ .ffmpeg: ffmpeg .faac .lame
+ endif
+- (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-a52 --disable-ffplay && make install-libs install-headers)
++ (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-a52 --disable-ffplay)
+ touch $@
+
+ CLEAN_FILE += .ffmpeg
+-CLEAN_PKG += ffmpeg ffmpeg.cvs
++CLEAN_PKG += ffmpeg
+ DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
+
+ # ***************************************************************************
+Index: modules/access/http.c
+===================================================================
+--- modules/access/http.c (revision 15815)
++++ modules/access/http.c (working copy)
+@@ -928,8 +928,14 @@
+ /* Offset */
+ if( p_sys->i_version == 1 )
+ {
+- net_Printf( VLC_OBJECT(p_access), p_sys->fd, pvs,
+- "Range: bytes="I64Fd"-\r\n", i_tell );
++ /* only send a Range: request if we want we need an offset that
++ * doesn't start from 0, otherwise the Web server may get
++ * unnecessarily overloaded */
++ if( i_tell != 0 )
++ {
++ net_Printf( VLC_OBJECT(p_access), p_sys->fd, pvs,
++ "Range: bytes="I64Fd"-\r\n", i_tell );
++ }
+ }
+
+ /* Authentication */
+Index: modules/demux/ogg.c
+===================================================================
+--- modules/demux/ogg.c (revision 15815)
++++ modules/demux/ogg.c (working copy)
+@@ -291,6 +291,7 @@
+ }
+ else if ( p_stream->fmt.i_codec == VLC_FOURCC('c','m','m','l') )
+ {
++ Ogg_ReadAnnodexHeader( VLC_OBJECT(p_demux), p_stream, &oggpacket );
+ p_stream->secondary_header_packets = 0;
+ }
+ }
+@@ -485,15 +486,15 @@
+ }
+
+ if( p_oggpacket->bytes >= 7 &&
+- ! memcmp ( &p_oggpacket->packet[0], "Annodex", 7 ) )
++ ! memcmp ( &p_oggpacket->packet[0], "fishead", 7 ) )
+ {
+- /* it's an Annodex packet -- skip it (do nothing) */
++ /* it's an Annodex Header packet -- skip it (do nothing) */
+ return;
+ }
+ else if( p_oggpacket->bytes >= 7 &&
+- ! memcmp ( &p_oggpacket->packet[0], "AnxData", 7 ) )
++ ! memcmp ( &p_oggpacket->packet[0], "fisbone", 7 ) )
+ {
+- /* it's an AnxData packet -- skip it (do nothing) */
++ /* it's an Annodex Data packet -- skip it (do nothing) */
+ return;
+ }
+
+@@ -850,23 +851,20 @@
+ }
+ /* Check for Annodex header */
+ else if( oggpacket.bytes >= 7 &&
+- ! memcmp( &oggpacket.packet[0], "Annodex", 7 ) )
++ ! memcmp( &oggpacket.packet[0], "fishead", 7 ) )
+ {
+ Ogg_ReadAnnodexHeader( VLC_OBJECT(p_demux), p_stream,
+ &oggpacket );
+- /* kill annodex track */
+- free( p_stream );
+- p_ogg->i_streams--;
+ }
+ /* Check for Annodex header */
+ else if( oggpacket.bytes >= 7 &&
+- ! memcmp( &oggpacket.packet[0], "AnxData", 7 ) )
++ ! memcmp( &oggpacket.packet[0], "fisbone", 7 ) )
+ {
+ Ogg_ReadAnnodexHeader( VLC_OBJECT(p_demux), p_stream,
+ &oggpacket );
+ }
+ else if( oggpacket.bytes >= 142 &&
+- !memcmp( &oggpacket.packet[1],
++ ! memcmp( &oggpacket.packet[1],
+ "Direct Show Samples embedded in Ogg", 35 ))
+ {
+ /* Old header type */
+@@ -1325,64 +1323,103 @@
+ ogg_packet *p_oggpacket )
+ {
+ if( p_oggpacket->bytes >= 28 &&
+- !memcmp( &p_oggpacket->packet[0], "Annodex", 7 ) )
++ !memcmp( &p_oggpacket->packet[0], "fishead", 7 ) )
+ {
+ oggpack_buffer opb;
+
+ uint16_t major_version;
+ uint16_t minor_version;
+- uint64_t timebase_numerator;
+- uint64_t timebase_denominator;
++ uint64_t presentationtime_numerator;
++ uint64_t presentationtime_denominator;
++ uint64_t basetime_numerator;
++ uint64_t basetime_denominator;
++ char content_type_string[20];
+
+- Ogg_ReadTheoraHeader( p_stream, p_oggpacket );
++ /* Read in Annodex header fields:
++ * we use UNKNOWN_ES here since it's the skeleton bitstream header only.
++ * Future releases could support NAV_ES (navigation elementary stream) */
+
+- oggpack_readinit( &opb, p_oggpacket->packet, p_oggpacket->bytes);
+- oggpack_adv( &opb, 8*8 ); /* "Annodex\0" header */
++ p_stream->fmt.i_cat = UNKNOWN_ES;
++
++ /* the anxs FOURCC was invented here for the skeleton logical bitstream */
++ p_stream->fmt.i_codec = VLC_FOURCC( 'a','n','x','s' );
++
++ /* Signal that we want to keep a backup of the skeleton stream headers */
++ p_stream->b_force_backup = 1;
++
++ /* Cheat and get additionnal info ;) */
++ oggpack_readinit( &opb, p_oggpacket->packet, p_oggpacket->bytes );
++ oggpack_adv( &opb, 8*8 ); /* "fishead\0" header */
++
+ major_version = oggpack_read( &opb, 2*8 ); /* major version */
+ minor_version = oggpack_read( &opb, 2*8 ); /* minor version */
+- timebase_numerator = GetQWLE( &p_oggpacket->packet[16] );
+- timebase_denominator = GetQWLE( &p_oggpacket->packet[24] );
++
++ presentationtime_numerator = GetQWLE( &p_oggpacket->packet[12] );
++ presentationtime_denominator = GetQWLE( &p_oggpacket->packet[20] );
++
++ basetime_numerator = GetQWLE( &p_oggpacket->packet[28] );
++ basetime_denominator = GetQWLE( &p_oggpacket->packet[36] );
++
++ sscanf( &p_oggpacket->packet[44], "%20s", content_type_string );
+ }
+ else if( p_oggpacket->bytes >= 42 &&
+- !memcmp( &p_oggpacket->packet[0], "AnxData", 7 ) )
++ !memcmp( &p_oggpacket->packet[0], "fisbone", 7 ) )
+ {
++ oggpack_buffer opb;
++
++ uint32_t message_fields_offset;
++ uint32_t serial_no;
+ uint64_t granule_rate_numerator;
+ uint64_t granule_rate_denominator;
++ uint64_t start_granule;
++ uint32_t preroll;
++ uint8_t granule_shift;
+ char content_type_string[1024];
+
+ /* Read in Annodex header fields */
++ oggpack_readinit( &opb, p_oggpacket->packet, p_oggpacket->bytes );
++ oggpack_adv( &opb, 8*8 ); /* "fisbone\0" header */
+
+- granule_rate_numerator = GetQWLE( &p_oggpacket->packet[8] );
+- granule_rate_denominator = GetQWLE( &p_oggpacket->packet[16] );
+- p_stream->secondary_header_packets =
+- GetDWLE( &p_oggpacket->packet[24] );
++ message_fields_offset = GetDWLE( &p_oggpacket->packet[8] );
++ serial_no = GetDWLE( &p_oggpacket->packet[12] );
++ p_stream->secondary_header_packets
++ = GetDWLE( &p_oggpacket->packet[16] );
+
++ granule_rate_numerator = GetQWLE( &p_oggpacket->packet[20] );
++ granule_rate_denominator = GetQWLE( &p_oggpacket->packet[28] );
++ start_granule = GetQWLE( &p_oggpacket->packet[36] );
++ preroll = GetDWLE( &p_oggpacket->packet[44] );
++
++ /* Granule Shift takes up the first byte of data */
++ uint8_t * bytepacket = (uint8_t *)&p_oggpacket->packet[48];
++ granule_shift = bytepacket[0];
++
+ /* we are guaranteed that the first header field will be
+ * the content-type (by the Annodex standard) */
+- content_type_string[0] = '\0';
+- if( !strncasecmp( &p_oggpacket->packet[28], "Content-Type: ", 14 ) )
++ if( !strncasecmp( (char*)(&p_oggpacket->packet[52]), "Content-Type: ", 14 ) )
+ {
+- uint8_t *p = memchr( &p_oggpacket->packet[42], '\r',
++ uint8_t *p = memchr( &p_oggpacket->packet[52], '\r',
+ p_oggpacket->bytes - 1 );
+ if( p && p[0] == '\r' && p[1] == '\n' )
+- sscanf( &p_oggpacket->packet[42], "%1024s\r\n",
++ sscanf( (char*)(&p_oggpacket->packet[52]), "%1024s\r\n",
+ content_type_string );
+ }
+
+- msg_Dbg( p_this, "AnxData packet info: "I64Fd" / "I64Fd", %d, ``%s''",
++ msg_Dbg( p_this, "Annodex packet info: "I64Fd" / "I64Fd", %d, ``%s''",
+ granule_rate_numerator, granule_rate_denominator,
+ p_stream->secondary_header_packets, content_type_string );
+
+ p_stream->f_rate = (float) granule_rate_numerator /
+ (float) granule_rate_denominator;
+
+- /* What type of file do we have?
+- * strcmp is safe to use here because we've extracted
+- * content_type_string from the stream manually */
++ /* What type of file do we have:
++ * strcmp used as content_type_string extracted manually from stream
++ * (Wave and MPEG Formats are for future implementation) */
++
+ if( !strncmp(content_type_string, "audio/x-wav", 11) )
+ {
+- /* n.b. WAVs are unsupported right now */
+- p_stream->fmt.i_cat = UNKNOWN_ES;
++ p_stream->fmt.i_cat = AUDIO_ES;
++ p_stream->fmt.i_codec = VLC_FOURCC( 'w','a','v',' ' );
+ }
+ else if( !strncmp(content_type_string, "audio/x-vorbis", 14) )
+ {
+@@ -1414,7 +1451,6 @@
+ }
+ else if( !strncmp(content_type_string, "video/mpeg", 14) )
+ {
+- /* n.b. MPEG streams are unsupported right now */
+ p_stream->fmt.i_cat = VIDEO_ES;
+ p_stream->fmt.i_codec = VLC_FOURCC( 'm','p','g','v' );
+ }
+Index: mozilla/Makefile.am
+===================================================================
+--- mozilla/Makefile.am (revision 15815)
++++ mozilla/Makefile.am (working copy)
+@@ -7,13 +7,20 @@
+ MOSTLYCLEANFILES = $(npvlc_DATA) $(vlcintf_xpt_DATA)
+ CLEANFILES = stamp-pic $(BUILT_SOURCES)
+ EXTRA_DIST = $(DIST_sources) vlcintf.idl npvlc_rc.rc vlc.r
++VLCIDL_FILE = "$(srcdir)/vlcintf.idl"
+
++# For MacOS and Linux users, you may leave the default values.
++# For Cygwin users, you need to make the following changes for the location:
++# VLCIDL_FILE = "{drive}:\{Path of VLC Source}/mozilla/vlcintf.idl"
++
+ SOURCES_mozilla_common = \
+ vlcshell.cpp \
+ vlcplugin.cpp \
+ vlcplugin.h \
+ vlcpeer.cpp \
+ vlcpeer.h \
++ vlcstreaminfo.c \
++ vlcstreaminfo.h \
+ vlcruntime.cpp \
+ vlcruntime.h \
+ support/classinfo.h
+@@ -177,11 +184,11 @@
+ vlcintf_xptdir = $(libdir)/mozilla/components
+ vlcintf.xpt: vlcintf.idl
+ $(XPIDL) $(XPIDL_INCL) \
+- -m typelib -o vlcintf $(srcdir)/vlcintf.idl
++ -m typelib -o vlcintf $(VLCIDL_FILE)
+
+ vlcintf.h: vlcintf.idl
+ $(XPIDL) $(XPIDL_INCL) \
+- -m header -o vlcintf $(srcdir)/vlcintf.idl
++ -m header -o vlcintf $(VLCIDL_FILE)
+
+ ###############################################################################
+ # Stamp rules
+Index: mozilla/npvlc_rc.rc
+===================================================================
+--- mozilla/npvlc_rc.rc (revision 15815)
++++ mozilla/npvlc_rc.rc (working copy)
+@@ -31,17 +31,17 @@
+ BEGIN
+ BLOCK "040904e4"
+ BEGIN
+- VALUE "ProductName", "VLC multimedia plugin\0"
++ VALUE "ProductName", "VLC Annodex viewer plugin\0"
+ VALUE "ProductVersion", STRINGIFY( VERSION )
+- VALUE "OriginalFilename", "npvlc.dll\0"
++ VALUE "OriginalFilename", "npanxvlc.dll\0"
+ VALUE "FileVersion", STRINGIFY( VERSION )
+- VALUE "FileDescription", "VLC multimedia plugin Version "STRINGIFY( VERSION )"<br><br>VideoLAN WWW: <a href=""http://www.videolan.org/"">http://www.videolan.org/</a>\0"
+- VALUE "InternalName", "npvlc\0"
+- VALUE "CompanyName", "VideoLAN Team\0"
+- VALUE "LegalCopyright", "Copyright VideoLAN \251 1996-2006\0"
+- VALUE "MIMEType", "audio/mpeg|audio/x-mpeg|video/mpeg|video/x-mpeg|video/mpeg-system|video/x-mpeg-system|video/mpeg4|audio/mpeg4|application/mpeg4-iod|application/mpeg4-muxcodetable|video/x-msvideo|video/quicktime|application/x-ogg|application/ogg|application/x-vlc-plugin|video/x-ms-asf-plugin|video/x-ms-asf|application/x-mplayer2|video/x-ms-wmv|application/x-google-vlc-plugin|audio/wav|audio/x-wav\0"
+- VALUE "FileExtents", "mp2,mp3,mpga,mpega|mp2,mp3,mpga,mpega|mpg,mpeg,mpe|mpg,mpeg,mpe|mpg,mpeg,vob|mpg,mpeg,vob|mp4,mpg4|mp4,mpg4|mp4,mpg4|mp4,mpg4|avi|mov,qt|ogg|ogg|||wav|wav\0"
+- VALUE "FileOpenName", "MPEG audio|MPEG audio|MPEG video|MPEG video|MPEG video|MPEG video|MPEG-4 video|MPEG-4 audio|MPEG-4 video|MPEG-4 video|AVI video|QuickTime video|Ogg stream|Ogg stream|VLC plugin|||||Google VLC plugin|WAV audio|WAV audio\0"
++ VALUE "FileDescription", "VLC Annodex viewer plugin Version "STRINGIFY( VERSION )" \0"
++ VALUE "InternalName", "npanxvlc\0"
++ VALUE "CompanyName", "VideoLAN Team and CSIRO Australia\0"
++ VALUE "LegalCopyright", "Copyright VideoLAN \251 1996-2005, portions Copyright \251 Commonwealth Scientific and Industrial Research Organisation (CSIRO) Australia 2004-2005\0"
++ VALUE "MIMEType", "application/x-annodex-vlc-viewer-plugin\0"
++ VALUE "FileExtents", "\0"
++ VALUE "FileOpenName", "VLC Annodex viewer plugin\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+Index: mozilla/vlc.r
+===================================================================
+--- mozilla/vlc.r (revision 15815)
++++ mozilla/vlc.r (working copy)
+@@ -13,9 +13,8 @@
+ resource 'STR#' (126)
+ {
+ {
+- "Version 0.8.5, Copyright 2006, The VideoLAN Team"
+- "<BR><A HREF='http://www.videolan.org'>http://www.videolan.org</A>",
+- "VLC Multimedia Plugin"
++ "VLC Annodex viewer plugin",
++ "VLC Annodex viewer plugin"
+ };
+ };
+
+@@ -23,28 +22,7 @@
+ resource 'STR#' (127)
+ {
+ {
+- "MPEG audio",
+- "MPEG audio",
+- "MPEG video",
+- "MPEG video",
+- "MPEG video",
+- "MPEG video",
+- "MPEG-4 video",
+- "MPEG-4 audio",
+- "MPEG-4 video",
+- "MPEG-4 video",
+- "AVI video",
+- "QuickTime video",
+- "Ogg stream",
+- "Ogg stream",
+- "VLC plugin",
+- "ASF stream",
+- "ASF stream",
+- "",
+- "",
+- "Google VLC Plugin",
+- "WAV audio",
+- "WAV audio"
++ "VLC Annodex viewer plugin<br><br>VideoLAN WWW: <a href=""http://www.videolan.org/"">http://www.videolan.org/</a><br>Annodex WWW: <a href=""http://www.annodex.net/"">http://www.annodex.net/</a>"
+ };
+ };
+
+@@ -52,28 +30,7 @@
+ resource 'STR#' (128,"MIME Type")
+ {
+ {
+- "audio/mpeg", "mp2,mp3,mpga,mpega",
+- "audio/x-mpeg", "mp2,mp3,mpga,mpega",
+- "video/mpeg", "mpg,mpeg,mpe",
+- "video/x-mpeg", "mpg,mpeg,mpe",
+- "video/mpeg-system", "mpg,mpeg,vob",
+- "video/x-mpeg-system", "mpg,mpeg,vob",
+- "video/mpeg4", "mp4,mpg4",
+- "audio/mpeg4", "mp4,mpg4",
+- "application/mpeg4-iod", "mp4,mpg4",
+- "application/mpeg4-muxcodetable", "mp4,mpg4",
+- "video/x-msvideo", "avi",
+- "video/quicktime", "mov, qt",
+- "application/ogg", "ogg",
+- "application/x-ogg", "ogg",
+- "application/x-vlc-plugin", "vlc",
+- "video/x-ms-asf-plugin", "",
+- "video/x-ms-asf", "",
+- "application/x-mplayer2", "",
+- "video/x-ms-wmv", "",
+- "video/x-google-vlc-plugin", "",
+- "audio/wav", "wav",
+- "audio/x-wav", "wav",
++ "application/x-annodex-vlc-viewer-plugin", ""
+ };
+ };
+
+Index: mozilla/vlcintf.idl
+===================================================================
+--- mozilla/vlcintf.idl (revision 15815)
++++ mozilla/vlcintf.idl (working copy)
+@@ -37,6 +37,10 @@
+ PRInt64 get_position();
+ PRInt64 get_time();
+
++ /* Stream information accessors */
++ PRInt64 get_video_width();
++ PRInt64 get_video_height();
++
+ void seek( in PRInt64 i_secs, in PRInt64 b_relative);
+ };
+
+Index: mozilla/vlcpeer.cpp
+===================================================================
+--- mozilla/vlcpeer.cpp (revision 15815)
++++ mozilla/vlcpeer.cpp (working copy)
+@@ -48,6 +48,7 @@
+
+ #include "vlcpeer.h"
+ #include "vlcplugin.h"
++#include "vlcstreaminfo.h"
+
+ NS_IMPL_ISUPPORTS2( VlcPeer, VlcIntf, nsIClassInfo )
+
+@@ -312,3 +313,21 @@
+ }
+ return NS_OK;
+ }
++
++NS_IMETHODIMP VlcPeer::Get_video_width( PRInt64 *i_video_width )
++{
++ if( p_plugin->i_vlc )
++ {
++ *i_video_width = vlc_get_video_width( p_plugin->i_vlc );
++ }
++ return NS_OK;
++}
++
++NS_IMETHODIMP VlcPeer::Get_video_height( PRInt64 *i_video_height )
++{
++ if( p_plugin->i_vlc )
++ {
++ *i_video_height = vlc_get_video_height( p_plugin->i_vlc );
++ }
++ return NS_OK;
++}
+Index: mozilla/vlcplugin.h
+===================================================================
+--- mozilla/vlcplugin.h (revision 15815)
++++ mozilla/vlcplugin.h (working copy)
+@@ -98,44 +98,14 @@
+ /*******************************************************************************
+ * Plugin properties.
+ ******************************************************************************/
+-#define PLUGIN_NAME "VLC multimedia plugin"
++#define PLUGIN_NAME "VLC Annodex viewer plugin"
+ #define PLUGIN_DESCRIPTION \
+ "VLC multimedia plugin <br>" \
+ " <br>" \
+ "version %s <br>" \
+- "VideoLAN WWW: <a href=\"http://www.videolan.org/\">http://www.videolan.org/</a>"
++ "VideoLAN WWW: <a href=\"http://www.videolan.org/\">http://www.videolan.org/</a><br>Annodex WWW: <a href=\"http://www.annodex.net/\">http://www.annodex.net/</a>"
+
+ #define PLUGIN_MIMETYPES \
+- /* MPEG-1 and MPEG-2 */ \
+- "audio/mpeg:mp2,mp3,mpga,mpega:MPEG audio;" \
+- "audio/x-mpeg:mp2,mp3,mpga,mpega:MPEG audio;" \
+- "video/mpeg:mpg,mpeg,mpe:MPEG video;" \
+- "video/x-mpeg:mpg,mpeg,mpe:MPEG video;" \
+- "video/mpeg-system:mpg,mpeg,mpe,vob:MPEG video;" \
+- "video/x-mpeg-system:mpg,mpeg,mpe,vob:MPEG video;" \
+- /* MPEG-4 */ \
+- "video/mpeg4:mp4,mpg4:MPEG-4 video;" \
+- "audio/mpeg4:mp4,mpg4:MPEG-4 audio;" \
+- "application/mpeg4-iod:mp4,mpg4:MPEG-4 video;" \
+- "application/mpeg4-muxcodetable:mp4,mpg4:MPEG-4 video;" \
+- /* AVI */ \
+- "video/x-msvideo:avi:AVI video;" \
+- /* QuickTime */ \
+- "video/quicktime:mov,qt:QuickTime video;" \
+- /* Ogg */ \
+- "application/x-ogg:ogg:Ogg stream;" \
+- "application/ogg:ogg:Ogg stream;" \
+- /* explicit plugin call */ \
+- "application/x-vlc-plugin::VLC plugin;" \
+- /* windows media */ \
+- "video/x-ms-asf-plugin:asf,asx:Windows Media Video;" \
+- "video/x-ms-asf:asf,asx:Windows Media Video;" \
+- "application/x-mplayer2::Windows Media;" \
+- "video/x-ms-wmv:wmv:Windows Media;" \
+- /* Google VLC mime */ \
+- "application/x-google-vlc-plugin::Google VLC plugin" \
+- /* Misc */ \
+- "audio/wav::WAV audio" \
+- "audio/x-wav::WAV audio" \
++ "application/x-annodex-vlc-viewer-plugin::Annodex Media View"
+
+ #endif
+Index: mozilla/vlcshell.cpp
+===================================================================
+--- mozilla/vlcshell.cpp (revision 15815)
++++ mozilla/vlcshell.cpp (working copy)
+@@ -326,33 +326,17 @@
+ };
+
+ #elif defined(XP_WIN)
+- char *ppsz_argv[] = { NULL, "-vv" };
+- HKEY h_key;
+- DWORD i_type, i_data = MAX_PATH + 1;
+- char p_data[MAX_PATH + 1];
+- if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, "Software\\VideoLAN\\VLC",
+- 0, KEY_READ, &h_key ) == ERROR_SUCCESS )
++ char *ppsz_argv[] =
+ {
+- if( RegQueryValueEx( h_key, "InstallDir", 0, &i_type,
+- (LPBYTE)p_data, &i_data ) == ERROR_SUCCESS )
+- {
+- if( i_type == REG_SZ )
+- {
+- strcat( p_data, "\\vlc" );
+- ppsz_argv[0] = p_data;
+- }
+- }
+- RegCloseKey( h_key );
+- }
++ "vlc",
++ "-vvvv"
++ };
+
+- if( !ppsz_argv[0] ) ppsz_argv[0] = "vlc";
+-
+ #else /* XP_MACOSX */
+ char *ppsz_argv[] =
+ {
+- "vlc"
++ "vlc",
+ "-vvvv"
+- /*, "--plugin-path", ""*/
+ };
+
+ #endif /* XP_MACOSX */
+@@ -552,7 +536,7 @@
+ #if USE_LIBVLC
+
+ #ifdef XP_MACOSX
+- value.i_int = (int)(((NP_Port*) (window->window))->port);
++ value.i_int = (int) ((NP_Port*) (window->window))->port;
+ VLC_VariableSet( p_plugin->i_vlc, "drawable", value );
+
+ valueportx.i_int = ((NP_Port*) (window->window))->portx;
+@@ -581,7 +565,10 @@
+ p_plugin->window = window;
+
+ valueredraw.i_int = 1;
+- VLC_VariableSet( p_plugin->i_vlc, "drawableredraw", valueredraw );
++ if ( VLC_VariableSet( p_plugin->i_vlc, "drawableredraw", valueredraw ) != VLC_SUCCESS )
++ {
++ fprintf( stderr, "Setting drawableredraw failed" );
++ }
+
+ #else /* XP_MACOSX */
+ /* FIXME: this cast sucks */
+@@ -916,6 +903,11 @@
+ GC gc;
+ XGCValues gcv;
+
++ if( event != NULL && event->type == ConfigureNotify )
++ {
++ fprintf(stderr, "resize ConfigureNotify\n");
++ }
++
+ gcv.foreground = BlackPixel( p_plugin->p_display, 0 );
+ gc = XCreateGC( p_plugin->p_display, p_plugin->window, GCForeground, &gcv );
+
+Index: mozilla/vlcstreaminfo.c
+===================================================================
+--- mozilla/vlcstreaminfo.c (revision 0)
++++ mozilla/vlcstreaminfo.c (revision 0)
+@@ -0,0 +1,86 @@
++/*****************************************************************************
++ * vlcstreaminfo.c: C interface to get information from the stream
++ *****************************************************************************
++ * Copyright (C) 2005 VideoLAN
++ * Copyright (C) 2005 Commonwealth Scientific Industrial Research
++ * Organisation (CSIRO) Australia
++ * $Id$
++ *
++ * Authors: Andre Pang <ozone at algorithm.com.au>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
++ *****************************************************************************/
++
++/*****************************************************************************
++ * Preamble
++ *****************************************************************************/
++#include <vlc/vlc.h>
++#include <vlc_common.h>
++#include <vlc/vout.h>
++#include <vlc/intf.h>
++
++#include "vlcstreaminfo.h"
++
++int vlc_get_video_width( int i_vlc )
++{
++ vlc_t * p_vlc;
++ int i_width;
++
++ i_width = -1;
++
++ p_vlc = vlc_current_object( i_vlc );
++ if( p_vlc )
++ {
++ vout_thread_t * p_vout;
++
++ p_vout = vlc_object_find( p_vlc, VLC_OBJECT_VOUT, FIND_ANYWHERE );
++ if( p_vout )
++ {
++ i_width = p_vout->render.i_width;
++ }
++
++ vlc_object_release( p_vout );
++ }
++
++ vlc_object_release( p_vlc );
++
++ return i_width;
++}
++
++int vlc_get_video_height( int i_vlc )
++{
++ vlc_t * p_vlc;
++ int i_height;
++
++ i_height = -1;
++
++ p_vlc = vlc_current_object( i_vlc );
++ if( p_vlc )
++ {
++ vout_thread_t * p_vout;
++
++ p_vout = vlc_object_find( p_vlc, VLC_OBJECT_VOUT, FIND_ANYWHERE );
++ if( p_vout )
++ {
++ i_height = p_vout->render.i_height;
++ }
++
++ vlc_object_release( p_vout );
++ }
++
++ vlc_object_release( p_vlc );
++
++ return i_height;
++}
+Index: mozilla/vlcstreaminfo.h
+===================================================================
+--- mozilla/vlcstreaminfo.h (revision 0)
++++ mozilla/vlcstreaminfo.h (revision 0)
+@@ -0,0 +1,35 @@
++/*****************************************************************************
++ * vlcstreaminfo.h: C interface to get information from the stream
++ *****************************************************************************
++ * Copyright (C) 2005 VideoLAN
++ * Copyright (C) 2005 Commonwealth Scientific Industrial Research
++ * Organisation (CSIRO) Australia
++ * $Id$
++ *
++ * Authors: Andre Pang <ozone at algorithm.com.au>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
++ *****************************************************************************/
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++int vlc_get_video_width( int );
++int vlc_get_video_height( int );
++
++#ifdef __cplusplus
++}
++#endif
+Index: src/misc/charset.c
+===================================================================
+--- src/misc/charset.c (revision 15815)
++++ src/misc/charset.c (working copy)
+@@ -255,8 +255,10 @@
+ * use setlocale here; it would return "C" when it doesn't support the
+ * locale name the user has set. Darwin's setlocale is broken. */
+ # if HAVE_SETLOCALE && !__APPLE__
++# if defined LC_ALL
+ psz_locale = setlocale( LC_ALL, NULL );
+ # endif
++# endif
+ if( psz_locale == NULL || psz_locale[0] == '\0' )
+ {
+ psz_locale = getenv( "LC_ALL" );
+@@ -570,8 +572,10 @@
+ /* Some systems (like Darwin, SunOS 4 or DJGPP) have only the C locale.
+ * Therefore we don't use setlocale here; it would return "C". */
+ # if HAVE_SETLOCALE && !__APPLE__
++# if defined LC_ALL
+ psz_lang = setlocale( LC_ALL, NULL );
+ # endif
++# endif
+ if( psz_lang == NULL || psz_lang[0] == '\0' )
+ {
+ psz_lang = getenv( "LC_ALL" );
--
cchiu
More information about the cvs-annodex
mailing list