diff --git a/dev-libs/libcdio/libcdio-0.82.bep b/dev-libs/libcdio/libcdio-0.82.bep new file mode 100644 index 000000000..6a295ac81 --- /dev/null +++ b/dev-libs/libcdio/libcdio-0.82.bep @@ -0,0 +1,25 @@ +DESCRIPTION="A library to encapsulate CD-ROM reading and control" +HOMEPAGE="http://www.gnu.org/software/libcdio" +SRC_URI="ftp://ftp.gnu.org/gnu/libcdio/libcdio-0.82.tar.gz" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="" +CHECKSUM_MD5="1c29b18e01ab2b966162bc727bf3c360" +BUILD { + cd libcdio-0.82 + libtoolize --force --copy --install + aclocal + autoconf + automake + ./configure --prefix=`finddir B_COMMON_DIRECTORY` + make +} + +INSTALL { + cd libcdio-0.82 + make install +} + +LICENSE="GNU GPL v3" +COPYRIGHT="2003-2009 Rocky Bernstein + 1996-1998 Gerd Knorr and Heiko Eißfeldt" diff --git a/dev-libs/libcdio/patches/libcdio-0.82.patch b/dev-libs/libcdio/patches/libcdio-0.82.patch new file mode 100644 index 000000000..4a63b6636 --- /dev/null +++ b/dev-libs/libcdio/patches/libcdio-0.82.patch @@ -0,0 +1,20 @@ +diff -urN libcdio-0.82/configure.ac libcdio-0.82-haiku/configure.ac +--- libcdio-0.82/configure.ac 2009-10-27 11:26:32.055574528 +0000 ++++ libcdio-0.82-haiku/configure.ac 2010-10-05 11:54:28.000000000 +0000 +@@ -246,7 +246,7 @@ + dnl empty_array_size + AC_MSG_CHECKING([how to create empty arrays]) + +-empty_array_size="xxxx" ++empty_array_size="xxx" + AC_TRY_COMPILE([],[struct { int foo; int bar[]; } doo;], empty_array_size="") + + if test "x$empty_array_size" = "xxxx";then +@@ -572,6 +572,7 @@ + [AC_MSG_WARN([new enough libcddb not found. CDDB access disabled. Get libcddb from http://libcddb.sourceforge.net]) + HAVE_CDDB=no]) + AC_CHECK_LIB(socket, connect) ++ AC_CHECK_LIB(network, connect) + AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname)) + fi + diff --git a/media-libs/libcddb/libcddb-1.3.2.bep b/media-libs/libcddb/libcddb-1.3.2.bep index 7331705bf..2ffef668d 100644 --- a/media-libs/libcddb/libcddb-1.3.2.bep +++ b/media-libs/libcddb/libcddb-1.3.2.bep @@ -20,6 +20,6 @@ INSTALL { make install } -LICENSE="GNU GPL v2" +LICENSE="GNU LGPL v2" COPYRIGHT="2003-2005 Kris Verbeeck" diff --git a/media-video/vlc/patches/vlc-0.8.6i.patch b/media-video/vlc/patches/vlc-0.8.6i.patch index 852fc33bf..e0c6c6dda 100644 --- a/media-video/vlc/patches/vlc-0.8.6i.patch +++ b/media-video/vlc/patches/vlc-0.8.6i.patch @@ -1,34 +1,182 @@ -diff -ur vlc-0.8.6i-original/configure.ac vlc-0.8.6i/configure.ac ---- vlc-0.8.6i-original/configure.ac 2008-07-08 21:59:22.000000000 +0100 -+++ vlc-0.8.6i/configure.ac 2009-11-07 23:47:24.000000000 +0000 -@@ -270,6 +270,12 @@ +diff -urN vlc-0.8.6i/configure.ac vlc-0.8.6i-haiku/configure.ac +--- vlc-0.8.6i/configure.ac 2009-02-18 15:15:26.000000000 +0000 ++++ vlc-0.8.6i-haiku/configure.ac 2009-02-21 22:47:18.000000000 +0000 +@@ -256,6 +256,7 @@ + VLC_ADD_LDFLAGS([vlc logger],[-lbe]) + VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) + VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl]) ++ VLC_ADD_LDFLAGS([access_file],[-lpoll]) + LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" + + dnl Check for BONE +@@ -270,11 +271,24 @@ VLC_ADD_LDFLAGS([beos],[-lzeta]) fi ;; -+ haiku) -+ SYS=beos -+ VLC_ADD_CXXFLAGS([beos],[]) ++ haiku*) ++ SYS=haiku ++ CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" ++ CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" ++ VLC_ADD_CXXFLAGS([haiku],[]) + VLC_ADD_LDFLAGS([vlc logger],[-lbe]) + VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) ++ VLC_ADD_LDFLAGS([dvdnav dvdread],[]) ++ VLC_ADD_LDFLAGS([access_file],[-lroot]) ++ LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" ++ VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnetwork]) + ;; *) SYS="${target_os}" ;; -diff -ur vlc-0.8.6i-original/include/vlc_common.h vlc-0.8.6i/include/vlc_common.h ---- vlc-0.8.6i-original/include/vlc_common.h 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/include/vlc_common.h 2009-11-08 00:28:56.000000000 +0000 -@@ -898,7 +898,7 @@ - # define vlc_strtoll NULL - #endif + esac + AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos") ++AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku") + AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") + AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") + AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") +@@ -444,12 +458,26 @@ + ]) + ]) --#if defined(SYS_BEOS) \ -+#if defined(SYS_BEOS) && !(defined(__HAIKU__))\ - || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) - typedef struct { - long long quot; /* Quotient. */ -diff -ur vlc-0.8.6i-original/include/vlc_threads.h vlc-0.8.6i/include/vlc_threads.h ---- vlc-0.8.6i-original/include/vlc_threads.h 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/include/vlc_threads.h 2009-11-07 23:53:51.000000000 +0000 ++AC_CHECK_FUNCS(connect,,[ ++ AC_CHECK_LIB(network,connect,[ ++ VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lnetwork) ++ LIBS_socket="-lnetwork" ++ ]) ++]) ++ ++ + AC_CHECK_FUNCS(send,,[ + AC_CHECK_LIB(socket,send,[ + VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket]) + ]) + ]) + ++AC_CHECK_FUNCS(send,,[ ++ AC_CHECK_LIB(network,send,[ ++ VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lnetwork]) ++ ]) ++]) ++ + AC_CHECK_FUNCS(gethostbyname,,[ + AC_CHECK_LIB(nsl,gethostbyname,[ + VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl]) +@@ -460,11 +488,22 @@ + ]) + ]) + ++AC_CHECK_FUNCS(gethostbyname,,[ ++ AC_CHECK_LIB(nsl,gethostbyname,[ ++ VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl]) ++ ],[ ++ AC_CHECK_LIB(network,gethostbyname,[ ++ VLC_ADD_LDFLAGS([ipv4 access_mms],[-lnetwork]) ++ ]) ++ ]) ++]) ++ + dnl Check for socklen_t + AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, + [AC_TRY_COMPILE( + [#include +- #include ], ++ #include ++ #include ], + [socklen_t len = 42; return len;], + ac_cv_type_socklen_t=yes, + ac_cv_type_socklen_t=no)]) +@@ -497,8 +536,10 @@ + dnl we purposedly make the test fail on Windows + LIBS_save="${LIBS}" + AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.]) ++AC_SEARCH_LIBS([getaddrinfo], [nsl] [network], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}]) + AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}]) + ++ + dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro + dnl are + LIBS="${LIBS_gai}" +@@ -804,8 +845,6 @@ + + dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal. + +-PKG_PROG_PKG_CONFIG() +- + dnl Check for hal + AC_ARG_ENABLE(hal, + [ --enable-hal Linux HAL services discovery (default enabled)]) +@@ -2742,28 +2781,12 @@ + AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) + AC_CHECK_HEADERS(postproc/postprocess.h libpostproc/postprocess.h) + +- AC_CHECK_LIB(avutil, av_crc_init, [ +- VLC_ADD_LDFLAGS([ffmpeg],[-lavutil]) +- LDAVUTIL="-lavutil"]) +- +- AC_CHECK_LIB(avcodec, avcodec_init, [ +- VLC_ADD_BUILTINS([ffmpeg]) +- VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) +- if test "${enable_sout}" != "no"; then +- VLC_ADD_BUILTINS([stream_out_switcher]) +- fi], +- [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL]) +- +- +- AC_CHECK_LIB(postproc, pp_postprocess, [ +- VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])], +- AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]), +- [$LDAVUTIL]) +- +- AC_CHECK_LIB(avformat, av_open_input_stream, [ +- VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) +- LDFLAGS="${LDFLAGS_save}" +- CPPFLAGS="${CPPFLAGS_save}" ++ VLC_ADD_BUILTINS([ffmpeg]) ++ VLC_ADD_LDFLAGS([ffmpeg],[-lavutil]) ++ LDAVUTIL="-lavutil" ++ VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc]) ++ VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) ++ VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) + ]) + fi + fi +@@ -4407,7 +4430,7 @@ + AC_ARG_WITH(,[Interface plugins:]) + + dnl special case for BeOS +-if test "${SYS}" = "beos" ++if test "${SYS}" = "beos" || test "${SYS}" = "haiku" + then + VLC_ADD_BUILTINS([beos]) + fi +@@ -4418,8 +4441,7 @@ + AC_ARG_ENABLE(skins2, + [ --enable-skins2 Skins2 interface module (experimental)]) + if test "${enable_skins2}" = "yes" || +- (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && +- test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then ++ (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${SYS}" != "haiku" && test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then + + dnl test for the required libraries + skins2_missing_lib="no" +diff -urN vlc-0.8.6i/extras/contrib/src/Makefile vlc-0.8.6i-haiku/extras/contrib/src/Makefile +--- vlc-0.8.6i/extras/contrib/src/Makefile 2009-02-18 15:15:55.000000000 +0000 ++++ vlc-0.8.6i-haiku/extras/contrib/src/Makefile 2009-02-18 15:13:25.000000000 +0000 +@@ -153,9 +153,9 @@ + ifdef HAVE_BEOS + ifeq ($(HOST),$(BUILD)) + # Native build: we need perl, autoconf, etc first +- all: .perl .autoconf .automake .libtool .iconv .intl .freetype .fribidi \ ++ all: .libtool .iconv .intl .freetype .fribidi \ + .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ +- .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ ++ .faad .lame .ebml .matroska .dvdcss \ + .dvdnav .dvbpsi .aclocal .libdca + else + # Cross compiling: we already have the Linux tools, only build the +diff -urN vlc-0.8.6i/include/vlc_threads.h vlc-0.8.6i-haiku/include/vlc_threads.h +--- vlc-0.8.6i/include/vlc_threads.h 2009-02-18 15:16:01.000000000 +0000 ++++ vlc-0.8.6i-haiku/include/vlc_threads.h 2009-02-21 17:59:20.000000000 +0000 @@ -45,7 +45,7 @@ #elif defined( HAVE_KERNEL_SCHEDULER_H ) /* BeOS */ # include @@ -38,47 +186,18 @@ diff -ur vlc-0.8.6i-original/include/vlc_threads.h vlc-0.8.6i/include/vlc_thread #elif defined( PTHREAD_COND_T_IN_PTHREAD_H ) /* pthreads (like Linux & BSD) */ # include -diff -ur vlc-0.8.6i-original/modules/codec/cinepak.c vlc-0.8.6i/modules/codec/cinepak.c ---- vlc-0.8.6i-original/modules/codec/cinepak.c 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/modules/codec/cinepak.c 2009-11-08 00:57:55.000000000 +0000 -@@ -279,7 +279,7 @@ - int i_strip, int i_x, int i_y, - int i_x2, int i_y2, uint8_t *p_data ) - { -- uint8_t i_index[4]; -+ uint8_t i_index[4], *p_dst_y, *p_dst_u, *p_dst_v; - int i,j; +diff -urN vlc-0.8.6i/modules/codec/telx.c vlc-0.8.6i-haiku/modules/codec/telx.c +--- vlc-0.8.6i/modules/codec/telx.c 2009-02-18 15:15:33.000000000 +0000 ++++ vlc-0.8.6i-haiku/modules/codec/telx.c 2009-02-18 15:14:10.000000000 +0000 +@@ -27,7 +27,7 @@ + *****************************************************************************/ + #include + #include +-#include ++#include - size_t y_max = p_context->i_stride[0] * ( i_y + 5 ) + i_x + 5; -@@ -292,7 +292,7 @@ - if( y_max >= y_siz || u_max >= u_siz || v_max >= v_siz ) - return; - -- uint8_t *p_dst_y, *p_dst_u, *p_dst_v; -+ - #define PIX_SET_Y( x, y, v ) \ - p_dst_y[(x) + (y)* p_context->i_stride[0]] = (v); - -@@ -336,7 +336,7 @@ - int i_strip, int i_x, int i_y, - int i_x2, int i_y2, uint8_t *p_data ) - { -- uint8_t i_index; -+ uint8_t i_index, *p_dst_y, *p_dst_u, *p_dst_v; - int i,j; - - size_t y_max = p_context->i_stride[0] * ( i_y + 5 ) + i_x + 5; -@@ -349,7 +349,6 @@ - if( y_max >= y_siz || u_max >= u_siz || v_max >= v_siz ) - return; - -- uint8_t *p_dst_y, *p_dst_u, *p_dst_v; - #define PIX_SET_Y( x, y, v ) \ - p_dst_y[(x) + (y)* p_context->i_stride[0]] = (v); - -diff -ur vlc-0.8.6i-original/modules/codec/telx.c vlc-0.8.6i/modules/codec/telx.c ---- vlc-0.8.6i-original/modules/codec/telx.c 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/modules/codec/telx.c 2009-11-08 00:59:26.000000000 +0000 + #include + #include @@ -450,7 +450,7 @@ vlc_bool_t b_update = VLC_FALSE; char psz_text[512], *pt = psz_text; @@ -98,312 +217,33 @@ diff -ur vlc-0.8.6i-original/modules/codec/telx.c vlc-0.8.6i/modules/codec/telx. if ( mpag < 0 ) { /* decode error */ -diff -ur vlc-0.8.6i-original/modules/demux/a52.c vlc-0.8.6i/modules/demux/a52.c ---- vlc-0.8.6i-original/modules/demux/a52.c 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/modules/demux/a52.c 2009-11-08 01:00:41.000000000 +0000 -@@ -80,7 +80,7 @@ - demux_t *p_demux = (demux_t*)p_this; - demux_sys_t *p_sys; - byte_t *p_peek; -- int i_peek = 0; -+ int i_peek = 0, i_size; - vlc_bool_t b_big_endian = 0; /* Arbitrary initialisation */ +diff -urN vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp vlc-0.8.6i-haiku/modules/gui/beos/InterfaceWindow.cpp +--- vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp 2009-02-18 15:15:26.000000000 +0000 ++++ vlc-0.8.6i-haiku/modules/gui/beos/InterfaceWindow.cpp 2009-02-18 15:13:51.000000000 +0000 +@@ -319,10 +319,8 @@ - /* Check if we are dealing with a WAV file */ -@@ -104,7 +104,7 @@ - - /* Some A52 wav files don't begin with a sync code so we do a more - * extensive search */ -- int i_size = stream_Peek( p_demux->s, &p_peek, i_peek + A52_PACKET_SIZE * 2); -+ i_size = stream_Peek( p_demux->s, &p_peek, i_peek + A52_PACKET_SIZE * 2); - i_size -= (PCM_FRAME_SIZE + A52_MAX_HEADER_SIZE); - - while( i_peek < i_size ) -diff -ur vlc-0.8.6i-original/modules/demux/dts.c vlc-0.8.6i/modules/demux/dts.c ---- vlc-0.8.6i-original/modules/demux/dts.c 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/modules/demux/dts.c 2009-11-08 01:01:49.000000000 +0000 -@@ -74,7 +74,8 @@ - demux_t *p_demux = (demux_t*)p_this; - demux_sys_t *p_sys; - byte_t * p_peek; -- int i_peek = 0; -+ int i_peek = 0, i_size; -+ uint32_t i_len; - - /* Check if we are dealing with a WAV file */ - if( stream_Peek( p_demux->s, &p_peek, 20 ) == 20 && -@@ -94,7 +95,7 @@ - } - - /* Sanity check the wave format header */ -- uint32_t i_len = GetDWLE( p_peek + i_peek - 4 ); -+ i_len = GetDWLE( p_peek + i_peek - 4 ); - if( i_len > DTS_PROBE_SIZE ) - return VLC_EGENERIC; - -@@ -124,7 +125,7 @@ - - /* Some DTS wav files don't begin with a sync code so we do a more - * extensive search */ -- int i_size = stream_Peek( p_demux->s, &p_peek, DTS_PROBE_SIZE ); -+ i_size = stream_Peek( p_demux->s, &p_peek, DTS_PROBE_SIZE ); - i_size -= DTS_MAX_HEADER_SIZE; - - while( i_peek < i_size ) -diff -ur vlc-0.8.6i-original/modules/gui/beos/InterfaceWindow.cpp vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp ---- vlc-0.8.6i-original/modules/gui/beos/InterfaceWindow.cpp 2008-07-08 21:59:23.000000000 +0100 -+++ vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp 2009-11-08 01:03:41.000000000 +0000 -@@ -33,7 +33,7 @@ - #include - #include - #include --#include -+//#include - #include - #include - -diff -ur vlc-0.8.6i-original/modules/misc/network/ipv6.c vlc-0.8.6i/modules/misc/network/ipv6.c ---- vlc-0.8.6i-original/modules/misc/network/ipv6.c 2008-07-08 21:59:24.000000000 +0100 -+++ vlc-0.8.6i/modules/misc/network/ipv6.c 2009-11-08 01:12:23.000000000 +0000 -@@ -239,6 +239,7 @@ - return 0; - } - -+#ifndef __HAIKU__ - /* Join the multicast group if the socket is a multicast address */ - if( IN6_IS_ADDR_MULTICAST(&loc.sin6_addr) ) - { -@@ -384,4 +385,5 @@ - p_socket->i_mtu = val.i_int; - - return 0; -+ #endif - } -diff -ur vlc-0.8.6i-original/modules/mux/mpeg/ts.c vlc-0.8.6i/modules/mux/mpeg/ts.c ---- vlc-0.8.6i-original/modules/mux/mpeg/ts.c 2008-07-08 21:59:24.000000000 +0100 -+++ vlc-0.8.6i/modules/mux/mpeg/ts.c 2009-11-08 01:15:10.000000000 +0000 -@@ -1719,27 +1719,30 @@ - static block_t *Add_ADTS( block_t *p_data, es_format_t *p_fmt ) + /* Add the Show menu */ + fShowMenu = new BMenu( _("Window") ); +-#if 0 + ADD_ELLIPSIS( _("Playlist") ); + fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_PLAYLIST ), 'P') ); +-#endif + ADD_ELLIPSIS( _("Messages") ); + fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_MESSAGES ), 'M' ) ); + ADD_ELLIPSIS( _("Preferences") ); +diff -urN vlc-0.8.6i/src/input/input.c vlc-0.8.6i-haiku/src/input/input.c +--- vlc-0.8.6i/src/input/input.c 2009-02-18 15:15:13.000000000 +0000 ++++ vlc-0.8.6i-haiku/src/input/input.c 2009-02-21 18:02:02.000000000 +0000 +@@ -1886,7 +1886,7 @@ { - uint8_t *p_extra = p_fmt->p_extra; -+ int i_index, i_profile, i_channels, i_fullness; -+ uint8_t *p_buffer; -+ block_t *p_bak_block, *p_new_block; - - if( !p_data || p_fmt->i_extra < 2 || !p_extra ) - return p_data; /* no data to construct the headers */ - -- int i_index = ( (p_extra[0] << 1) | (p_extra[1] >> 7) ) & 0x0f; -- int i_profile = (p_extra[0] >> 3) - 1; /* i_profile < 4 */ -+ i_index = ( (p_extra[0] << 1) | (p_extra[1] >> 7) ) & 0x0f; -+ i_profile = (p_extra[0] >> 3) - 1; /* i_profile < 4 */ - - if( i_index == 0x0f && p_fmt->i_extra < 5 ) - return p_data; /* not enough data */ - -- int i_channels = (p_extra[i_index == 0x0f ? 4 : 1] >> 3) & 0x0f; -+ i_channels = (p_extra[i_index == 0x0f ? 4 : 1] >> 3) & 0x0f; - - #define ADTS_HEADER_SIZE 7 /* CRC needs 2 more bytes */ - - - /* keep a copy in case block_Realloc() fails */ -- block_t *p_bak_block = block_Duplicate( p_data ); -+ p_bak_block = block_Duplicate( p_data ); - if( !p_bak_block ) /* OOM, block_Realloc() is likely to lose our block */ - return p_data; /* the frame isn't correct but that's the best we have */ - -- block_t *p_new_block = block_Realloc( p_data, ADTS_HEADER_SIZE, -+ p_new_block = block_Realloc( p_data, ADTS_HEADER_SIZE, - p_data->i_buffer ); - if( !p_new_block ) - return p_bak_block; /* OOM, send the (incorrect) original frame */ -@@ -1747,7 +1750,7 @@ - block_Release( p_bak_block ); /* we don't need the copy anymore */ - - -- uint8_t *p_buffer = p_new_block->p_buffer; -+ p_buffer = p_new_block->p_buffer; - - /* fixed header */ - p_buffer[0] = 0xff; -@@ -1757,7 +1760,7 @@ - - /* variable header (starts at last 2 bits of 4th byte) */ - -- int i_fullness = 0x7ff; /* 0x7ff means VBR */ -+ i_fullness = 0x7ff; /* 0x7ff means VBR */ - /* XXX: We should check if it's CBR or VBR, but no known implementation - * do that, and it's a pain to calculate this field */ - -diff -ur vlc-0.8.6i-original/modules/packetizer/h264.c vlc-0.8.6i/modules/packetizer/h264.c ---- vlc-0.8.6i-original/modules/packetizer/h264.c 2008-07-08 21:59:24.000000000 +0100 -+++ vlc-0.8.6i/modules/packetizer/h264.c 2009-11-08 01:21:24.000000000 +0000 -@@ -219,13 +219,14 @@ - i_sps = (*p++)&0x1f; - for( i = 0; i < i_sps; i++ ) - { -+ block_t *p_sps; - uint16_t i_length = GetWBE( p ); p += 2; - if( i_length > - (uint8_t*)p_dec->fmt_in.p_extra + p_dec->fmt_in.i_extra - p ) - { - return VLC_EGENERIC; - } -- block_t *p_sps = nal_get_annexeb( p_dec, p, i_length ); -+ p_sps = nal_get_annexeb( p_dec, p, i_length ); - if( !p_sps ) - return VLC_EGENERIC; - p_sys->p_sps = block_Duplicate( p_sps ); -@@ -237,13 +238,14 @@ - i_pps = *p++; - for( i = 0; i < i_pps; i++ ) - { -+ block_t *p_pps; - uint16_t i_length = GetWBE( p ); p += 2; - if( i_length > - (uint8_t*)p_dec->fmt_in.p_extra + p_dec->fmt_in.i_extra - p ) - { - return VLC_EGENERIC; - } -- block_t *p_pps = nal_get_annexeb( p_dec, p, i_length ); -+ p_pps = nal_get_annexeb( p_dec, p, i_length ); - if( !p_pps ) - return VLC_EGENERIC; - p_sys->p_pps = block_Duplicate( p_pps ); -@@ -446,7 +448,7 @@ - - for( p = p_block->p_buffer; p < &p_block->p_buffer[p_block->i_buffer]; ) - { -- block_t *p_pic; -+ block_t *p_pic, *p_part; - int i_size = 0; - int i; - -@@ -462,7 +464,7 @@ - break; - } - -- block_t *p_part = nal_get_annexeb( p_dec, p, i_size ); -+ p_part = nal_get_annexeb( p_dec, p, i_size ); - if( !p_part ) - break; - p_part->i_dts = p_block->i_dts; -diff -ur vlc-0.8.6i-original/modules/packetizer/mpeg4audio.c vlc-0.8.6i/modules/packetizer/mpeg4audio.c ---- vlc-0.8.6i-original/modules/packetizer/mpeg4audio.c 2008-07-08 21:59:24.000000000 +0100 -+++ vlc-0.8.6i/modules/packetizer/mpeg4audio.c 2009-11-08 01:18:22.000000000 +0000 -@@ -332,6 +332,7 @@ - { - int i_profile, i_sample_rate_idx, i_frame_size; - vlc_bool_t b_crc; -+ unsigned short i_raw_blocks_in_frame; - - /* Fixed header between frames */ - //int i_id = ( (p_buf[1] >> 3) & 0x01) ? 2 : 4; /* MPEG-2 or 4 */ -@@ -350,7 +351,7 @@ - i_frame_size = ((p_buf[3] & 0x03) << 11) | (p_buf[4] << 3) | - ((p_buf[5] >> 5) /*& 0x7*/); - //uint16_t buffer_fullness = ((p_buf[5] & 0x1f) << 6) | (p_buf[6] >> 2); -- unsigned short i_raw_blocks_in_frame = p_buf[6] & 0x03; -+ i_raw_blocks_in_frame = p_buf[6] & 0x03; - - if( !*pi_sample_rate || !*pi_channels || !i_frame_size ) - { -@@ -436,15 +437,16 @@ - { - /* TODO compute channels count ? */ - int i_tag = bs_read( s, 4 ); -- if( i_tag != 0x05 ) -- return -1; -- bs_skip( s, 2 + 4 ); // object type + sampling index - int i_num_front = bs_read( s, 4 ); - int i_num_side = bs_read( s, 4 ); - int i_num_back = bs_read( s, 4 ); - int i_num_lfe = bs_read( s, 2 ); - int i_num_assoc_data = bs_read( s, 3 ); - int i_num_valid_cc = bs_read( s, 4 ); -+ int i_comment; -+ if( i_tag != 0x05 ) -+ return -1; -+ bs_skip( s, 2 + 4 ); // object type + sampling index - - if( bs_read1(s) ) - bs_skip( s, 4 ); // mono downmix -@@ -460,19 +462,20 @@ - bs_skip( s, i_num_assoc_data * (4) ); - bs_skip( s, i_num_valid_cc * (5) ); - bs_align( s ); -- int i_comment = bs_read( s, 8 ); -+ i_comment = bs_read( s, 8 ); - bs_skip( s, i_comment * 8 ); - return 0; - } - - static int Mpeg4GASpecificConfig( mpeg4_cfg_t *p_cfg, bs_t *s ) - { -+ int i_extension_flag; - p_cfg->i_frame_length = bs_read1(s) ? 960 : 1024; - - if( bs_read1( s ) ) // depend on core coder - bs_skip( s, 14 ); // core coder delay - -- int i_extension_flag = bs_read1( s ); -+ i_extension_flag = bs_read1( s ); - if( p_cfg->i_channel == 0 ) - { - Mpeg4GAProgramConfigElement( s ); -diff -ur vlc-0.8.6i-original/modules/stream_out/mosaic_bridge.c vlc-0.8.6i/modules/stream_out/mosaic_bridge.c ---- vlc-0.8.6i-original/modules/stream_out/mosaic_bridge.c 2008-07-08 21:59:24.000000000 +0100 -+++ vlc-0.8.6i/modules/stream_out/mosaic_bridge.c 2009-11-08 01:22:30.000000000 +0000 -@@ -339,11 +339,12 @@ - - if ( p_sys->p_decoder != NULL ) - { -+ void *p_owner; - picture_t **pp_ring = p_sys->p_decoder->p_owner->pp_pics; - - if( p_sys->p_decoder->p_module ) - module_Unneed( p_sys->p_decoder, p_sys->p_decoder->p_module ); -- void *p_owner = p_sys->p_decoder->p_owner; -+ p_owner = p_sys->p_decoder->p_owner; - vlc_object_detach( p_sys->p_decoder ); - vlc_object_destroy( p_sys->p_decoder ); - -diff -ur vlc-0.8.6i-original/modules/stream_out/switcher.c vlc-0.8.6i/modules/stream_out/switcher.c ---- vlc-0.8.6i-original/modules/stream_out/switcher.c 2008-07-08 21:59:24.000000000 +0100 -+++ vlc-0.8.6i/modules/stream_out/switcher.c 2009-11-08 01:23:24.000000000 +0000 -@@ -657,8 +657,9 @@ - - if ( i_len > 0 ) - { -+ int i_cmd; - psz_buffer[i_len] = '\0'; -- int i_cmd = strtol( psz_buffer, NULL, 0 ); -+ i_cmd = strtol( psz_buffer, NULL, 0 ); - if ( i_cmd < -1 || i_cmd > p_sys->i_nb_pictures ) - { - msg_Err( p_stream, "got a wrong command (%d)", i_cmd ); -diff -ur vlc-0.8.6i-original/src/extras/libc.c vlc-0.8.6i/src/extras/libc.c ---- vlc-0.8.6i-original/src/extras/libc.c 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/extras/libc.c 2009-11-08 00:44:49.000000000 +0000 -@@ -348,7 +348,7 @@ - /***************************************************************************** - * lldiv: returns quotient and remainder - *****************************************************************************/ --#if defined(SYS_BEOS) \ -+#if defined(SYS_BEOS) & !(defined(__HAIKU__))\ - || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) - lldiv_t vlc_lldiv( long long numer, long long denom ) - { -diff -ur vlc-0.8.6i-original/src/input/input.c vlc-0.8.6i/src/input/input.c ---- vlc-0.8.6i-original/src/input/input.c 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/input/input.c 2009-11-08 00:30:10.000000000 +0000 -@@ -1913,11 +1913,11 @@ - { - vlc_meta_t *tk = p_meta->track[i]; - int j; -+ char *psz_cat; + vlc_meta_t *p_meta = p_input->p_meta; + int i; +- ++ char *psz_cat; + if( !p_meta || p_meta->i_meta == 0 ) + return VLC_SUCCESS; +@@ -1917,7 +1917,6 @@ if( tk->i_meta > 0 ) { msg_Dbg( p_input, " - track[%d]:", i ); @@ -411,119 +251,91 @@ diff -ur vlc-0.8.6i-original/src/input/input.c vlc-0.8.6i/src/input/input.c if( asprintf( &psz_cat, "%s %d", _("Stream"), i ) != -1 ) { for( j = 0; j < tk->i_meta; j++ ) -diff -ur vlc-0.8.6i-original/src/misc/beos_specific.cpp vlc-0.8.6i/src/misc/beos_specific.cpp ---- vlc-0.8.6i-original/src/misc/beos_specific.cpp 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/misc/beos_specific.cpp 2009-11-09 18:46:51.000000000 +0000 -@@ -154,7 +154,7 @@ - { - BAlert *alert; - alert = new BAlert( "VLC " PACKAGE_VERSION, -- "VLC " PACKAGE_VERSION " for BeOS\n\n" -+ "VLC " PACKAGE_VERSION " for Haiku\n\n" - "", "OK"); - alert->Go( NULL ); +diff -urN vlc-0.8.6i/src/misc/threads.c vlc-0.8.6i-haiku/src/misc/threads.c +--- vlc-0.8.6i/src/misc/threads.c 2009-02-18 15:15:12.000000000 +0000 ++++ vlc-0.8.6i-haiku/src/misc/threads.c 2009-02-21 23:12:06.000000000 +0000 +@@ -542,6 +542,7 @@ + * function instead of CreateThread, otherwise you'll end up with + * memory leaks and the signal functions not working (see Microsoft + * Knowledge Base, article 104641) */ ++ + p_this->thread_id = + #if defined( UNDER_CE ) + (HANDLE)CreateThread( NULL, 0, (PTHREAD_START) func, +@@ -636,7 +637,6 @@ + psz_name, psz_file, i_line, strerror(i_ret) ); + vlc_mutex_unlock( &p_this->object_lock ); + } +- + return i_ret; } -diff -ur vlc-0.8.6i-original/src/misc/threads.c vlc-0.8.6i/src/misc/threads.c ---- vlc-0.8.6i-original/src/misc/threads.c 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/misc/threads.c 2009-11-08 17:02:02.000000000 +0000 -@@ -647,6 +647,7 @@ - int __vlc_thread_set_priority( vlc_object_t *p_this, char * psz_file, - int i_line, int i_priority ) - { -+/* - #if defined( PTH_INIT_IN_PTH_H ) || defined( ST_INIT_IN_ST_H ) - #elif defined( WIN32 ) || defined( UNDER_CE ) - if( !SetThreadPriority(GetCurrentThread(), i_priority) ) -@@ -689,7 +690,7 @@ + +@@ -689,7 +689,6 @@ } } #endif - -+*/ return 0; } -@@ -790,3 +791,7 @@ - p_this->b_thread = 0; - } - -+ -+ -+ -+ -Only in vlc-0.8.6i-original/src/misc: version.c -diff -ur vlc-0.8.6i-original/src/misc/vlm.c vlc-0.8.6i/src/misc/vlm.c ---- vlc-0.8.6i-original/src/misc/vlm.c 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/misc/vlm.c 2009-11-08 00:42:59.000000000 +0000 -@@ -1368,10 +1368,11 @@ +diff -urN vlc-0.8.6i/src/misc/vlm.c vlc-0.8.6i-haiku/src/misc/vlm.c +--- vlc-0.8.6i/src/misc/vlm.c 2009-02-18 15:15:12.000000000 +0000 ++++ vlc-0.8.6i-haiku/src/misc/vlm.c 2009-02-21 18:53:35.000000000 +0000 +@@ -1368,10 +1368,10 @@ vlm_schedule_t *vlm_ScheduleNew( vlm_t *vlm, const char *psz_name ) { -+ vlm_schedule_t *p_sched; ++ vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) ); if( !psz_name ) return NULL; - vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) ); -+ p_sched = malloc( sizeof( vlm_schedule_t ) ); if( !p_sched ) return NULL; -diff -ur vlc-0.8.6i-original/src/network/httpd.c vlc-0.8.6i/src/network/httpd.c ---- vlc-0.8.6i-original/src/network/httpd.c 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/network/httpd.c 2009-11-08 00:33:09.000000000 +0000 -@@ -365,7 +365,7 @@ - static int httpd_FileCallBack( httpd_callback_sys_t *p_sys, httpd_client_t *cl, httpd_message_t *answer, httpd_message_t *query ) - { - httpd_file_t *file = (httpd_file_t*)p_sys; -- uint8_t **pp_body, *p_body; -+ uint8_t **pp_body, *p_body, *psz_args; +diff -urN vlc-0.8.6i/src/network/httpd.c vlc-0.8.6i-haiku/src/network/httpd.c +--- vlc-0.8.6i/src/network/httpd.c 2009-02-18 15:15:13.000000000 +0000 ++++ vlc-0.8.6i-haiku/src/network/httpd.c 2009-02-21 18:25:54.000000000 +0000 +@@ -60,6 +60,10 @@ + #define HTTPD_CL_BUFSIZE 10000 + #endif + ++ ++#include ++ ++ + static void httpd_ClientClean( httpd_client_t *cl ); + + struct httpd_url_t +@@ -368,6 +372,7 @@ + uint8_t **pp_body, *p_body; char *psz_connection = NULL; int *pi_body, i_body; ++ uint8_t *psz_args = query->psz_args; -@@ -402,7 +402,7 @@ + if( answer == NULL || query == NULL ) + { +@@ -402,7 +407,6 @@ /* msg_Warn not supported */ } - uint8_t *psz_args = query->psz_args; -+ psz_args = query->psz_args; file->pf_fill( file->p_sys, file, psz_args, pp_body, pi_body ); if( query->i_type == HTTPD_MSG_HEAD && p_body != NULL ) -@@ -487,6 +487,7 @@ +@@ -487,6 +491,7 @@ { httpd_handler_t *handler = (httpd_handler_t*)p_sys; char psz_remote_addr[NI_MAXNUMERICHOST]; -+ uint8_t *psz_args; ++ uint8_t *psz_args = query->psz_args; if( answer == NULL || query == NULL ) { -@@ -502,7 +503,7 @@ +@@ -502,7 +507,6 @@ if( httpd_ClientIP( cl, psz_remote_addr ) == NULL ) *psz_remote_addr = '\0'; - uint8_t *psz_args = query->psz_args; -+ psz_args = query->psz_args; handler->pf_fill( handler->p_sys, handler, query->psz_url, psz_args, query->i_type, query->p_body, query->i_body, psz_remote_addr, NULL, -diff -ur vlc-0.8.6i-original/src/stream_output/sap.c vlc-0.8.6i/src/stream_output/sap.c ---- vlc-0.8.6i-original/src/stream_output/sap.c 2008-07-08 22:08:36.000000000 +0100 -+++ vlc-0.8.6i/src/stream_output/sap.c 2009-11-08 01:26:17.000000000 +0000 -@@ -287,7 +287,8 @@ - - memcpy( a6->s6_addr + 2, "\x00\x00\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x02\x7f\xfe", 14 ); -- if( IN6_IS_ADDR_MULTICAST( a6 ) ) -+ #ifndef __HAIKU__ -+ if( IN6_IS_ADDR_MULTICAST( a6 ) ) - { - /* SSM <=> ff3x::/32 */ - b_ssm = (U32_AT (a6->s6_addr) & 0xfff0ffff) == 0xff300000; -@@ -301,6 +302,7 @@ - - b_ipv6 = VLC_TRUE; - break; -+ #endif - } - #endif - diff --git a/media-video/vlc/patches/vlc-0.8.6i.patch.old b/media-video/vlc/patches/vlc-0.8.6i.patch.old new file mode 100644 index 000000000..852fc33bf --- /dev/null +++ b/media-video/vlc/patches/vlc-0.8.6i.patch.old @@ -0,0 +1,529 @@ +diff -ur vlc-0.8.6i-original/configure.ac vlc-0.8.6i/configure.ac +--- vlc-0.8.6i-original/configure.ac 2008-07-08 21:59:22.000000000 +0100 ++++ vlc-0.8.6i/configure.ac 2009-11-07 23:47:24.000000000 +0000 +@@ -270,6 +270,12 @@ + VLC_ADD_LDFLAGS([beos],[-lzeta]) + fi + ;; ++ haiku) ++ SYS=beos ++ VLC_ADD_CXXFLAGS([beos],[]) ++ VLC_ADD_LDFLAGS([vlc logger],[-lbe]) ++ VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) ++ ;; + *) + SYS="${target_os}" + ;; +diff -ur vlc-0.8.6i-original/include/vlc_common.h vlc-0.8.6i/include/vlc_common.h +--- vlc-0.8.6i-original/include/vlc_common.h 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/include/vlc_common.h 2009-11-08 00:28:56.000000000 +0000 +@@ -898,7 +898,7 @@ + # define vlc_strtoll NULL + #endif + +-#if defined(SYS_BEOS) \ ++#if defined(SYS_BEOS) && !(defined(__HAIKU__))\ + || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) + typedef struct { + long long quot; /* Quotient. */ +diff -ur vlc-0.8.6i-original/include/vlc_threads.h vlc-0.8.6i/include/vlc_threads.h +--- vlc-0.8.6i-original/include/vlc_threads.h 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/include/vlc_threads.h 2009-11-07 23:53:51.000000000 +0000 +@@ -45,7 +45,7 @@ + #elif defined( HAVE_KERNEL_SCHEDULER_H ) /* BeOS */ + # include + # include +-# include ++# include + + #elif defined( PTHREAD_COND_T_IN_PTHREAD_H ) /* pthreads (like Linux & BSD) */ + # include +diff -ur vlc-0.8.6i-original/modules/codec/cinepak.c vlc-0.8.6i/modules/codec/cinepak.c +--- vlc-0.8.6i-original/modules/codec/cinepak.c 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/modules/codec/cinepak.c 2009-11-08 00:57:55.000000000 +0000 +@@ -279,7 +279,7 @@ + int i_strip, int i_x, int i_y, + int i_x2, int i_y2, uint8_t *p_data ) + { +- uint8_t i_index[4]; ++ uint8_t i_index[4], *p_dst_y, *p_dst_u, *p_dst_v; + int i,j; + + size_t y_max = p_context->i_stride[0] * ( i_y + 5 ) + i_x + 5; +@@ -292,7 +292,7 @@ + if( y_max >= y_siz || u_max >= u_siz || v_max >= v_siz ) + return; + +- uint8_t *p_dst_y, *p_dst_u, *p_dst_v; ++ + #define PIX_SET_Y( x, y, v ) \ + p_dst_y[(x) + (y)* p_context->i_stride[0]] = (v); + +@@ -336,7 +336,7 @@ + int i_strip, int i_x, int i_y, + int i_x2, int i_y2, uint8_t *p_data ) + { +- uint8_t i_index; ++ uint8_t i_index, *p_dst_y, *p_dst_u, *p_dst_v; + int i,j; + + size_t y_max = p_context->i_stride[0] * ( i_y + 5 ) + i_x + 5; +@@ -349,7 +349,6 @@ + if( y_max >= y_siz || u_max >= u_siz || v_max >= v_siz ) + return; + +- uint8_t *p_dst_y, *p_dst_u, *p_dst_v; + #define PIX_SET_Y( x, y, v ) \ + p_dst_y[(x) + (y)* p_context->i_stride[0]] = (v); + +diff -ur vlc-0.8.6i-original/modules/codec/telx.c vlc-0.8.6i/modules/codec/telx.c +--- vlc-0.8.6i-original/modules/codec/telx.c 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/modules/codec/telx.c 2009-11-08 00:59:26.000000000 +0000 +@@ -450,7 +450,7 @@ + vlc_bool_t b_update = VLC_FALSE; + char psz_text[512], *pt = psz_text; + char psz_line[256]; +- int i, total; ++ int i, total, mpag, row, magazine; + + if( pp_block == NULL || *pp_block == NULL ) return NULL; + p_block = *pp_block; +@@ -473,8 +473,7 @@ + /* continue; */ + /* } */ + +- int mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] ); +- int row, magazine; ++ mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] ); + if ( mpag < 0 ) + { + /* decode error */ +diff -ur vlc-0.8.6i-original/modules/demux/a52.c vlc-0.8.6i/modules/demux/a52.c +--- vlc-0.8.6i-original/modules/demux/a52.c 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/modules/demux/a52.c 2009-11-08 01:00:41.000000000 +0000 +@@ -80,7 +80,7 @@ + demux_t *p_demux = (demux_t*)p_this; + demux_sys_t *p_sys; + byte_t *p_peek; +- int i_peek = 0; ++ int i_peek = 0, i_size; + vlc_bool_t b_big_endian = 0; /* Arbitrary initialisation */ + + /* Check if we are dealing with a WAV file */ +@@ -104,7 +104,7 @@ + + /* Some A52 wav files don't begin with a sync code so we do a more + * extensive search */ +- int i_size = stream_Peek( p_demux->s, &p_peek, i_peek + A52_PACKET_SIZE * 2); ++ i_size = stream_Peek( p_demux->s, &p_peek, i_peek + A52_PACKET_SIZE * 2); + i_size -= (PCM_FRAME_SIZE + A52_MAX_HEADER_SIZE); + + while( i_peek < i_size ) +diff -ur vlc-0.8.6i-original/modules/demux/dts.c vlc-0.8.6i/modules/demux/dts.c +--- vlc-0.8.6i-original/modules/demux/dts.c 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/modules/demux/dts.c 2009-11-08 01:01:49.000000000 +0000 +@@ -74,7 +74,8 @@ + demux_t *p_demux = (demux_t*)p_this; + demux_sys_t *p_sys; + byte_t * p_peek; +- int i_peek = 0; ++ int i_peek = 0, i_size; ++ uint32_t i_len; + + /* Check if we are dealing with a WAV file */ + if( stream_Peek( p_demux->s, &p_peek, 20 ) == 20 && +@@ -94,7 +95,7 @@ + } + + /* Sanity check the wave format header */ +- uint32_t i_len = GetDWLE( p_peek + i_peek - 4 ); ++ i_len = GetDWLE( p_peek + i_peek - 4 ); + if( i_len > DTS_PROBE_SIZE ) + return VLC_EGENERIC; + +@@ -124,7 +125,7 @@ + + /* Some DTS wav files don't begin with a sync code so we do a more + * extensive search */ +- int i_size = stream_Peek( p_demux->s, &p_peek, DTS_PROBE_SIZE ); ++ i_size = stream_Peek( p_demux->s, &p_peek, DTS_PROBE_SIZE ); + i_size -= DTS_MAX_HEADER_SIZE; + + while( i_peek < i_size ) +diff -ur vlc-0.8.6i-original/modules/gui/beos/InterfaceWindow.cpp vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp +--- vlc-0.8.6i-original/modules/gui/beos/InterfaceWindow.cpp 2008-07-08 21:59:23.000000000 +0100 ++++ vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp 2009-11-08 01:03:41.000000000 +0000 +@@ -33,7 +33,7 @@ + #include + #include + #include +-#include ++//#include + #include + #include + +diff -ur vlc-0.8.6i-original/modules/misc/network/ipv6.c vlc-0.8.6i/modules/misc/network/ipv6.c +--- vlc-0.8.6i-original/modules/misc/network/ipv6.c 2008-07-08 21:59:24.000000000 +0100 ++++ vlc-0.8.6i/modules/misc/network/ipv6.c 2009-11-08 01:12:23.000000000 +0000 +@@ -239,6 +239,7 @@ + return 0; + } + ++#ifndef __HAIKU__ + /* Join the multicast group if the socket is a multicast address */ + if( IN6_IS_ADDR_MULTICAST(&loc.sin6_addr) ) + { +@@ -384,4 +385,5 @@ + p_socket->i_mtu = val.i_int; + + return 0; ++ #endif + } +diff -ur vlc-0.8.6i-original/modules/mux/mpeg/ts.c vlc-0.8.6i/modules/mux/mpeg/ts.c +--- vlc-0.8.6i-original/modules/mux/mpeg/ts.c 2008-07-08 21:59:24.000000000 +0100 ++++ vlc-0.8.6i/modules/mux/mpeg/ts.c 2009-11-08 01:15:10.000000000 +0000 +@@ -1719,27 +1719,30 @@ + static block_t *Add_ADTS( block_t *p_data, es_format_t *p_fmt ) + { + uint8_t *p_extra = p_fmt->p_extra; ++ int i_index, i_profile, i_channels, i_fullness; ++ uint8_t *p_buffer; ++ block_t *p_bak_block, *p_new_block; + + if( !p_data || p_fmt->i_extra < 2 || !p_extra ) + return p_data; /* no data to construct the headers */ + +- int i_index = ( (p_extra[0] << 1) | (p_extra[1] >> 7) ) & 0x0f; +- int i_profile = (p_extra[0] >> 3) - 1; /* i_profile < 4 */ ++ i_index = ( (p_extra[0] << 1) | (p_extra[1] >> 7) ) & 0x0f; ++ i_profile = (p_extra[0] >> 3) - 1; /* i_profile < 4 */ + + if( i_index == 0x0f && p_fmt->i_extra < 5 ) + return p_data; /* not enough data */ + +- int i_channels = (p_extra[i_index == 0x0f ? 4 : 1] >> 3) & 0x0f; ++ i_channels = (p_extra[i_index == 0x0f ? 4 : 1] >> 3) & 0x0f; + + #define ADTS_HEADER_SIZE 7 /* CRC needs 2 more bytes */ + + + /* keep a copy in case block_Realloc() fails */ +- block_t *p_bak_block = block_Duplicate( p_data ); ++ p_bak_block = block_Duplicate( p_data ); + if( !p_bak_block ) /* OOM, block_Realloc() is likely to lose our block */ + return p_data; /* the frame isn't correct but that's the best we have */ + +- block_t *p_new_block = block_Realloc( p_data, ADTS_HEADER_SIZE, ++ p_new_block = block_Realloc( p_data, ADTS_HEADER_SIZE, + p_data->i_buffer ); + if( !p_new_block ) + return p_bak_block; /* OOM, send the (incorrect) original frame */ +@@ -1747,7 +1750,7 @@ + block_Release( p_bak_block ); /* we don't need the copy anymore */ + + +- uint8_t *p_buffer = p_new_block->p_buffer; ++ p_buffer = p_new_block->p_buffer; + + /* fixed header */ + p_buffer[0] = 0xff; +@@ -1757,7 +1760,7 @@ + + /* variable header (starts at last 2 bits of 4th byte) */ + +- int i_fullness = 0x7ff; /* 0x7ff means VBR */ ++ i_fullness = 0x7ff; /* 0x7ff means VBR */ + /* XXX: We should check if it's CBR or VBR, but no known implementation + * do that, and it's a pain to calculate this field */ + +diff -ur vlc-0.8.6i-original/modules/packetizer/h264.c vlc-0.8.6i/modules/packetizer/h264.c +--- vlc-0.8.6i-original/modules/packetizer/h264.c 2008-07-08 21:59:24.000000000 +0100 ++++ vlc-0.8.6i/modules/packetizer/h264.c 2009-11-08 01:21:24.000000000 +0000 +@@ -219,13 +219,14 @@ + i_sps = (*p++)&0x1f; + for( i = 0; i < i_sps; i++ ) + { ++ block_t *p_sps; + uint16_t i_length = GetWBE( p ); p += 2; + if( i_length > + (uint8_t*)p_dec->fmt_in.p_extra + p_dec->fmt_in.i_extra - p ) + { + return VLC_EGENERIC; + } +- block_t *p_sps = nal_get_annexeb( p_dec, p, i_length ); ++ p_sps = nal_get_annexeb( p_dec, p, i_length ); + if( !p_sps ) + return VLC_EGENERIC; + p_sys->p_sps = block_Duplicate( p_sps ); +@@ -237,13 +238,14 @@ + i_pps = *p++; + for( i = 0; i < i_pps; i++ ) + { ++ block_t *p_pps; + uint16_t i_length = GetWBE( p ); p += 2; + if( i_length > + (uint8_t*)p_dec->fmt_in.p_extra + p_dec->fmt_in.i_extra - p ) + { + return VLC_EGENERIC; + } +- block_t *p_pps = nal_get_annexeb( p_dec, p, i_length ); ++ p_pps = nal_get_annexeb( p_dec, p, i_length ); + if( !p_pps ) + return VLC_EGENERIC; + p_sys->p_pps = block_Duplicate( p_pps ); +@@ -446,7 +448,7 @@ + + for( p = p_block->p_buffer; p < &p_block->p_buffer[p_block->i_buffer]; ) + { +- block_t *p_pic; ++ block_t *p_pic, *p_part; + int i_size = 0; + int i; + +@@ -462,7 +464,7 @@ + break; + } + +- block_t *p_part = nal_get_annexeb( p_dec, p, i_size ); ++ p_part = nal_get_annexeb( p_dec, p, i_size ); + if( !p_part ) + break; + p_part->i_dts = p_block->i_dts; +diff -ur vlc-0.8.6i-original/modules/packetizer/mpeg4audio.c vlc-0.8.6i/modules/packetizer/mpeg4audio.c +--- vlc-0.8.6i-original/modules/packetizer/mpeg4audio.c 2008-07-08 21:59:24.000000000 +0100 ++++ vlc-0.8.6i/modules/packetizer/mpeg4audio.c 2009-11-08 01:18:22.000000000 +0000 +@@ -332,6 +332,7 @@ + { + int i_profile, i_sample_rate_idx, i_frame_size; + vlc_bool_t b_crc; ++ unsigned short i_raw_blocks_in_frame; + + /* Fixed header between frames */ + //int i_id = ( (p_buf[1] >> 3) & 0x01) ? 2 : 4; /* MPEG-2 or 4 */ +@@ -350,7 +351,7 @@ + i_frame_size = ((p_buf[3] & 0x03) << 11) | (p_buf[4] << 3) | + ((p_buf[5] >> 5) /*& 0x7*/); + //uint16_t buffer_fullness = ((p_buf[5] & 0x1f) << 6) | (p_buf[6] >> 2); +- unsigned short i_raw_blocks_in_frame = p_buf[6] & 0x03; ++ i_raw_blocks_in_frame = p_buf[6] & 0x03; + + if( !*pi_sample_rate || !*pi_channels || !i_frame_size ) + { +@@ -436,15 +437,16 @@ + { + /* TODO compute channels count ? */ + int i_tag = bs_read( s, 4 ); +- if( i_tag != 0x05 ) +- return -1; +- bs_skip( s, 2 + 4 ); // object type + sampling index + int i_num_front = bs_read( s, 4 ); + int i_num_side = bs_read( s, 4 ); + int i_num_back = bs_read( s, 4 ); + int i_num_lfe = bs_read( s, 2 ); + int i_num_assoc_data = bs_read( s, 3 ); + int i_num_valid_cc = bs_read( s, 4 ); ++ int i_comment; ++ if( i_tag != 0x05 ) ++ return -1; ++ bs_skip( s, 2 + 4 ); // object type + sampling index + + if( bs_read1(s) ) + bs_skip( s, 4 ); // mono downmix +@@ -460,19 +462,20 @@ + bs_skip( s, i_num_assoc_data * (4) ); + bs_skip( s, i_num_valid_cc * (5) ); + bs_align( s ); +- int i_comment = bs_read( s, 8 ); ++ i_comment = bs_read( s, 8 ); + bs_skip( s, i_comment * 8 ); + return 0; + } + + static int Mpeg4GASpecificConfig( mpeg4_cfg_t *p_cfg, bs_t *s ) + { ++ int i_extension_flag; + p_cfg->i_frame_length = bs_read1(s) ? 960 : 1024; + + if( bs_read1( s ) ) // depend on core coder + bs_skip( s, 14 ); // core coder delay + +- int i_extension_flag = bs_read1( s ); ++ i_extension_flag = bs_read1( s ); + if( p_cfg->i_channel == 0 ) + { + Mpeg4GAProgramConfigElement( s ); +diff -ur vlc-0.8.6i-original/modules/stream_out/mosaic_bridge.c vlc-0.8.6i/modules/stream_out/mosaic_bridge.c +--- vlc-0.8.6i-original/modules/stream_out/mosaic_bridge.c 2008-07-08 21:59:24.000000000 +0100 ++++ vlc-0.8.6i/modules/stream_out/mosaic_bridge.c 2009-11-08 01:22:30.000000000 +0000 +@@ -339,11 +339,12 @@ + + if ( p_sys->p_decoder != NULL ) + { ++ void *p_owner; + picture_t **pp_ring = p_sys->p_decoder->p_owner->pp_pics; + + if( p_sys->p_decoder->p_module ) + module_Unneed( p_sys->p_decoder, p_sys->p_decoder->p_module ); +- void *p_owner = p_sys->p_decoder->p_owner; ++ p_owner = p_sys->p_decoder->p_owner; + vlc_object_detach( p_sys->p_decoder ); + vlc_object_destroy( p_sys->p_decoder ); + +diff -ur vlc-0.8.6i-original/modules/stream_out/switcher.c vlc-0.8.6i/modules/stream_out/switcher.c +--- vlc-0.8.6i-original/modules/stream_out/switcher.c 2008-07-08 21:59:24.000000000 +0100 ++++ vlc-0.8.6i/modules/stream_out/switcher.c 2009-11-08 01:23:24.000000000 +0000 +@@ -657,8 +657,9 @@ + + if ( i_len > 0 ) + { ++ int i_cmd; + psz_buffer[i_len] = '\0'; +- int i_cmd = strtol( psz_buffer, NULL, 0 ); ++ i_cmd = strtol( psz_buffer, NULL, 0 ); + if ( i_cmd < -1 || i_cmd > p_sys->i_nb_pictures ) + { + msg_Err( p_stream, "got a wrong command (%d)", i_cmd ); +diff -ur vlc-0.8.6i-original/src/extras/libc.c vlc-0.8.6i/src/extras/libc.c +--- vlc-0.8.6i-original/src/extras/libc.c 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/extras/libc.c 2009-11-08 00:44:49.000000000 +0000 +@@ -348,7 +348,7 @@ + /***************************************************************************** + * lldiv: returns quotient and remainder + *****************************************************************************/ +-#if defined(SYS_BEOS) \ ++#if defined(SYS_BEOS) & !(defined(__HAIKU__))\ + || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) + lldiv_t vlc_lldiv( long long numer, long long denom ) + { +diff -ur vlc-0.8.6i-original/src/input/input.c vlc-0.8.6i/src/input/input.c +--- vlc-0.8.6i-original/src/input/input.c 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/input/input.c 2009-11-08 00:30:10.000000000 +0000 +@@ -1913,11 +1913,11 @@ + { + vlc_meta_t *tk = p_meta->track[i]; + int j; ++ char *psz_cat; + + if( tk->i_meta > 0 ) + { + msg_Dbg( p_input, " - track[%d]:", i ); +- char *psz_cat; + if( asprintf( &psz_cat, "%s %d", _("Stream"), i ) != -1 ) + { + for( j = 0; j < tk->i_meta; j++ ) +diff -ur vlc-0.8.6i-original/src/misc/beos_specific.cpp vlc-0.8.6i/src/misc/beos_specific.cpp +--- vlc-0.8.6i-original/src/misc/beos_specific.cpp 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/misc/beos_specific.cpp 2009-11-09 18:46:51.000000000 +0000 +@@ -154,7 +154,7 @@ + { + BAlert *alert; + alert = new BAlert( "VLC " PACKAGE_VERSION, +- "VLC " PACKAGE_VERSION " for BeOS\n\n" ++ "VLC " PACKAGE_VERSION " for Haiku\n\n" + "", "OK"); + alert->Go( NULL ); + } +diff -ur vlc-0.8.6i-original/src/misc/threads.c vlc-0.8.6i/src/misc/threads.c +--- vlc-0.8.6i-original/src/misc/threads.c 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/misc/threads.c 2009-11-08 17:02:02.000000000 +0000 +@@ -647,6 +647,7 @@ + int __vlc_thread_set_priority( vlc_object_t *p_this, char * psz_file, + int i_line, int i_priority ) + { ++/* + #if defined( PTH_INIT_IN_PTH_H ) || defined( ST_INIT_IN_ST_H ) + #elif defined( WIN32 ) || defined( UNDER_CE ) + if( !SetThreadPriority(GetCurrentThread(), i_priority) ) +@@ -689,7 +690,7 @@ + } + } + #endif +- ++*/ + return 0; + } + +@@ -790,3 +791,7 @@ + p_this->b_thread = 0; + } + ++ ++ ++ ++ +Only in vlc-0.8.6i-original/src/misc: version.c +diff -ur vlc-0.8.6i-original/src/misc/vlm.c vlc-0.8.6i/src/misc/vlm.c +--- vlc-0.8.6i-original/src/misc/vlm.c 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/misc/vlm.c 2009-11-08 00:42:59.000000000 +0000 +@@ -1368,10 +1368,11 @@ + + vlm_schedule_t *vlm_ScheduleNew( vlm_t *vlm, const char *psz_name ) + { ++ vlm_schedule_t *p_sched; + if( !psz_name ) + return NULL; + +- vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) ); ++ p_sched = malloc( sizeof( vlm_schedule_t ) ); + if( !p_sched ) + return NULL; + +diff -ur vlc-0.8.6i-original/src/network/httpd.c vlc-0.8.6i/src/network/httpd.c +--- vlc-0.8.6i-original/src/network/httpd.c 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/network/httpd.c 2009-11-08 00:33:09.000000000 +0000 +@@ -365,7 +365,7 @@ + static int httpd_FileCallBack( httpd_callback_sys_t *p_sys, httpd_client_t *cl, httpd_message_t *answer, httpd_message_t *query ) + { + httpd_file_t *file = (httpd_file_t*)p_sys; +- uint8_t **pp_body, *p_body; ++ uint8_t **pp_body, *p_body, *psz_args; + char *psz_connection = NULL; + int *pi_body, i_body; + +@@ -402,7 +402,7 @@ + /* msg_Warn not supported */ + } + +- uint8_t *psz_args = query->psz_args; ++ psz_args = query->psz_args; + file->pf_fill( file->p_sys, file, psz_args, pp_body, pi_body ); + + if( query->i_type == HTTPD_MSG_HEAD && p_body != NULL ) +@@ -487,6 +487,7 @@ + { + httpd_handler_t *handler = (httpd_handler_t*)p_sys; + char psz_remote_addr[NI_MAXNUMERICHOST]; ++ uint8_t *psz_args; + + if( answer == NULL || query == NULL ) + { +@@ -502,7 +503,7 @@ + if( httpd_ClientIP( cl, psz_remote_addr ) == NULL ) + *psz_remote_addr = '\0'; + +- uint8_t *psz_args = query->psz_args; ++ psz_args = query->psz_args; + handler->pf_fill( handler->p_sys, handler, query->psz_url, psz_args, + query->i_type, query->p_body, query->i_body, + psz_remote_addr, NULL, +diff -ur vlc-0.8.6i-original/src/stream_output/sap.c vlc-0.8.6i/src/stream_output/sap.c +--- vlc-0.8.6i-original/src/stream_output/sap.c 2008-07-08 22:08:36.000000000 +0100 ++++ vlc-0.8.6i/src/stream_output/sap.c 2009-11-08 01:26:17.000000000 +0000 +@@ -287,7 +287,8 @@ + + memcpy( a6->s6_addr + 2, "\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x02\x7f\xfe", 14 ); +- if( IN6_IS_ADDR_MULTICAST( a6 ) ) ++ #ifndef __HAIKU__ ++ if( IN6_IS_ADDR_MULTICAST( a6 ) ) + { + /* SSM <=> ff3x::/32 */ + b_ssm = (U32_AT (a6->s6_addr) & 0xfff0ffff) == 0xff300000; +@@ -301,6 +302,7 @@ + + b_ipv6 = VLC_TRUE; + break; ++ #endif + } + #endif + diff --git a/media-video/vlc/vlc-0.8.6i.patch b/media-video/vlc/vlc-0.8.6i.patch deleted file mode 100644 index e0c6c6dda..000000000 --- a/media-video/vlc/vlc-0.8.6i.patch +++ /dev/null @@ -1,341 +0,0 @@ -diff -urN vlc-0.8.6i/configure.ac vlc-0.8.6i-haiku/configure.ac ---- vlc-0.8.6i/configure.ac 2009-02-18 15:15:26.000000000 +0000 -+++ vlc-0.8.6i-haiku/configure.ac 2009-02-21 22:47:18.000000000 +0000 -@@ -256,6 +256,7 @@ - VLC_ADD_LDFLAGS([vlc logger],[-lbe]) - VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) - VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl]) -+ VLC_ADD_LDFLAGS([access_file],[-lpoll]) - LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" - - dnl Check for BONE -@@ -270,11 +271,24 @@ - VLC_ADD_LDFLAGS([beos],[-lzeta]) - fi - ;; -+ haiku*) -+ SYS=haiku -+ CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" -+ CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" -+ VLC_ADD_CXXFLAGS([haiku],[]) -+ VLC_ADD_LDFLAGS([vlc logger],[-lbe]) -+ VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) -+ VLC_ADD_LDFLAGS([dvdnav dvdread],[]) -+ VLC_ADD_LDFLAGS([access_file],[-lroot]) -+ LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" -+ VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnetwork]) -+ ;; - *) - SYS="${target_os}" - ;; - esac - AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos") -+AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku") - AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") - AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") - AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") -@@ -444,12 +458,26 @@ - ]) - ]) - -+AC_CHECK_FUNCS(connect,,[ -+ AC_CHECK_LIB(network,connect,[ -+ VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lnetwork) -+ LIBS_socket="-lnetwork" -+ ]) -+]) -+ -+ - AC_CHECK_FUNCS(send,,[ - AC_CHECK_LIB(socket,send,[ - VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket]) - ]) - ]) - -+AC_CHECK_FUNCS(send,,[ -+ AC_CHECK_LIB(network,send,[ -+ VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lnetwork]) -+ ]) -+]) -+ - AC_CHECK_FUNCS(gethostbyname,,[ - AC_CHECK_LIB(nsl,gethostbyname,[ - VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl]) -@@ -460,11 +488,22 @@ - ]) - ]) - -+AC_CHECK_FUNCS(gethostbyname,,[ -+ AC_CHECK_LIB(nsl,gethostbyname,[ -+ VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl]) -+ ],[ -+ AC_CHECK_LIB(network,gethostbyname,[ -+ VLC_ADD_LDFLAGS([ipv4 access_mms],[-lnetwork]) -+ ]) -+ ]) -+]) -+ - dnl Check for socklen_t - AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, - [AC_TRY_COMPILE( - [#include -- #include ], -+ #include -+ #include ], - [socklen_t len = 42; return len;], - ac_cv_type_socklen_t=yes, - ac_cv_type_socklen_t=no)]) -@@ -497,8 +536,10 @@ - dnl we purposedly make the test fail on Windows - LIBS_save="${LIBS}" - AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.]) -+AC_SEARCH_LIBS([getaddrinfo], [nsl] [network], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}]) - AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}]) - -+ - dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro - dnl are - LIBS="${LIBS_gai}" -@@ -804,8 +845,6 @@ - - dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal. - --PKG_PROG_PKG_CONFIG() -- - dnl Check for hal - AC_ARG_ENABLE(hal, - [ --enable-hal Linux HAL services discovery (default enabled)]) -@@ -2742,28 +2781,12 @@ - AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h libpostproc/postprocess.h) - -- AC_CHECK_LIB(avutil, av_crc_init, [ -- VLC_ADD_LDFLAGS([ffmpeg],[-lavutil]) -- LDAVUTIL="-lavutil"]) -- -- AC_CHECK_LIB(avcodec, avcodec_init, [ -- VLC_ADD_BUILTINS([ffmpeg]) -- VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) -- if test "${enable_sout}" != "no"; then -- VLC_ADD_BUILTINS([stream_out_switcher]) -- fi], -- [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL]) -- -- -- AC_CHECK_LIB(postproc, pp_postprocess, [ -- VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])], -- AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]), -- [$LDAVUTIL]) -- -- AC_CHECK_LIB(avformat, av_open_input_stream, [ -- VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) -- LDFLAGS="${LDFLAGS_save}" -- CPPFLAGS="${CPPFLAGS_save}" -+ VLC_ADD_BUILTINS([ffmpeg]) -+ VLC_ADD_LDFLAGS([ffmpeg],[-lavutil]) -+ LDAVUTIL="-lavutil" -+ VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc]) -+ VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) -+ VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) - ]) - fi - fi -@@ -4407,7 +4430,7 @@ - AC_ARG_WITH(,[Interface plugins:]) - - dnl special case for BeOS --if test "${SYS}" = "beos" -+if test "${SYS}" = "beos" || test "${SYS}" = "haiku" - then - VLC_ADD_BUILTINS([beos]) - fi -@@ -4418,8 +4441,7 @@ - AC_ARG_ENABLE(skins2, - [ --enable-skins2 Skins2 interface module (experimental)]) - if test "${enable_skins2}" = "yes" || -- (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && -- test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then -+ (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${SYS}" != "haiku" && test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then - - dnl test for the required libraries - skins2_missing_lib="no" -diff -urN vlc-0.8.6i/extras/contrib/src/Makefile vlc-0.8.6i-haiku/extras/contrib/src/Makefile ---- vlc-0.8.6i/extras/contrib/src/Makefile 2009-02-18 15:15:55.000000000 +0000 -+++ vlc-0.8.6i-haiku/extras/contrib/src/Makefile 2009-02-18 15:13:25.000000000 +0000 -@@ -153,9 +153,9 @@ - ifdef HAVE_BEOS - ifeq ($(HOST),$(BUILD)) - # Native build: we need perl, autoconf, etc first -- all: .perl .autoconf .automake .libtool .iconv .intl .freetype .fribidi \ -+ all: .libtool .iconv .intl .freetype .fribidi \ - .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ -- .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ -+ .faad .lame .ebml .matroska .dvdcss \ - .dvdnav .dvbpsi .aclocal .libdca - else - # Cross compiling: we already have the Linux tools, only build the -diff -urN vlc-0.8.6i/include/vlc_threads.h vlc-0.8.6i-haiku/include/vlc_threads.h ---- vlc-0.8.6i/include/vlc_threads.h 2009-02-18 15:16:01.000000000 +0000 -+++ vlc-0.8.6i-haiku/include/vlc_threads.h 2009-02-21 17:59:20.000000000 +0000 -@@ -45,7 +45,7 @@ - #elif defined( HAVE_KERNEL_SCHEDULER_H ) /* BeOS */ - # include - # include --# include -+# include - - #elif defined( PTHREAD_COND_T_IN_PTHREAD_H ) /* pthreads (like Linux & BSD) */ - # include -diff -urN vlc-0.8.6i/modules/codec/telx.c vlc-0.8.6i-haiku/modules/codec/telx.c ---- vlc-0.8.6i/modules/codec/telx.c 2009-02-18 15:15:33.000000000 +0000 -+++ vlc-0.8.6i-haiku/modules/codec/telx.c 2009-02-18 15:14:10.000000000 +0000 -@@ -27,7 +27,7 @@ - *****************************************************************************/ - #include - #include --#include -+#include - - #include - #include -@@ -450,7 +450,7 @@ - vlc_bool_t b_update = VLC_FALSE; - char psz_text[512], *pt = psz_text; - char psz_line[256]; -- int i, total; -+ int i, total, mpag, row, magazine; - - if( pp_block == NULL || *pp_block == NULL ) return NULL; - p_block = *pp_block; -@@ -473,8 +473,7 @@ - /* continue; */ - /* } */ - -- int mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] ); -- int row, magazine; -+ mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] ); - if ( mpag < 0 ) - { - /* decode error */ -diff -urN vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp vlc-0.8.6i-haiku/modules/gui/beos/InterfaceWindow.cpp ---- vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp 2009-02-18 15:15:26.000000000 +0000 -+++ vlc-0.8.6i-haiku/modules/gui/beos/InterfaceWindow.cpp 2009-02-18 15:13:51.000000000 +0000 -@@ -319,10 +319,8 @@ - - /* Add the Show menu */ - fShowMenu = new BMenu( _("Window") ); --#if 0 - ADD_ELLIPSIS( _("Playlist") ); - fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_PLAYLIST ), 'P') ); --#endif - ADD_ELLIPSIS( _("Messages") ); - fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_MESSAGES ), 'M' ) ); - ADD_ELLIPSIS( _("Preferences") ); -diff -urN vlc-0.8.6i/src/input/input.c vlc-0.8.6i-haiku/src/input/input.c ---- vlc-0.8.6i/src/input/input.c 2009-02-18 15:15:13.000000000 +0000 -+++ vlc-0.8.6i-haiku/src/input/input.c 2009-02-21 18:02:02.000000000 +0000 -@@ -1886,7 +1886,7 @@ - { - vlc_meta_t *p_meta = p_input->p_meta; - int i; -- -+ char *psz_cat; - if( !p_meta || p_meta->i_meta == 0 ) - return VLC_SUCCESS; - -@@ -1917,7 +1917,6 @@ - if( tk->i_meta > 0 ) - { - msg_Dbg( p_input, " - track[%d]:", i ); -- char *psz_cat; - if( asprintf( &psz_cat, "%s %d", _("Stream"), i ) != -1 ) - { - for( j = 0; j < tk->i_meta; j++ ) -diff -urN vlc-0.8.6i/src/misc/threads.c vlc-0.8.6i-haiku/src/misc/threads.c ---- vlc-0.8.6i/src/misc/threads.c 2009-02-18 15:15:12.000000000 +0000 -+++ vlc-0.8.6i-haiku/src/misc/threads.c 2009-02-21 23:12:06.000000000 +0000 -@@ -542,6 +542,7 @@ - * function instead of CreateThread, otherwise you'll end up with - * memory leaks and the signal functions not working (see Microsoft - * Knowledge Base, article 104641) */ -+ - p_this->thread_id = - #if defined( UNDER_CE ) - (HANDLE)CreateThread( NULL, 0, (PTHREAD_START) func, -@@ -636,7 +637,6 @@ - psz_name, psz_file, i_line, strerror(i_ret) ); - vlc_mutex_unlock( &p_this->object_lock ); - } -- - return i_ret; - } - -@@ -689,7 +689,6 @@ - } - } - #endif -- - return 0; - } - -diff -urN vlc-0.8.6i/src/misc/vlm.c vlc-0.8.6i-haiku/src/misc/vlm.c ---- vlc-0.8.6i/src/misc/vlm.c 2009-02-18 15:15:12.000000000 +0000 -+++ vlc-0.8.6i-haiku/src/misc/vlm.c 2009-02-21 18:53:35.000000000 +0000 -@@ -1368,10 +1368,10 @@ - - vlm_schedule_t *vlm_ScheduleNew( vlm_t *vlm, const char *psz_name ) - { -+ vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) ); - if( !psz_name ) - return NULL; - -- vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) ); - if( !p_sched ) - return NULL; - -diff -urN vlc-0.8.6i/src/network/httpd.c vlc-0.8.6i-haiku/src/network/httpd.c ---- vlc-0.8.6i/src/network/httpd.c 2009-02-18 15:15:13.000000000 +0000 -+++ vlc-0.8.6i-haiku/src/network/httpd.c 2009-02-21 18:25:54.000000000 +0000 -@@ -60,6 +60,10 @@ - #define HTTPD_CL_BUFSIZE 10000 - #endif - -+ -+#include -+ -+ - static void httpd_ClientClean( httpd_client_t *cl ); - - struct httpd_url_t -@@ -368,6 +372,7 @@ - uint8_t **pp_body, *p_body; - char *psz_connection = NULL; - int *pi_body, i_body; -+ uint8_t *psz_args = query->psz_args; - - if( answer == NULL || query == NULL ) - { -@@ -402,7 +407,6 @@ - /* msg_Warn not supported */ - } - -- uint8_t *psz_args = query->psz_args; - file->pf_fill( file->p_sys, file, psz_args, pp_body, pi_body ); - - if( query->i_type == HTTPD_MSG_HEAD && p_body != NULL ) -@@ -487,6 +491,7 @@ - { - httpd_handler_t *handler = (httpd_handler_t*)p_sys; - char psz_remote_addr[NI_MAXNUMERICHOST]; -+ uint8_t *psz_args = query->psz_args; - - if( answer == NULL || query == NULL ) - { -@@ -502,7 +507,6 @@ - if( httpd_ClientIP( cl, psz_remote_addr ) == NULL ) - *psz_remote_addr = '\0'; - -- uint8_t *psz_args = query->psz_args; - handler->pf_fill( handler->p_sys, handler, query->psz_url, psz_args, - query->i_type, query->p_body, query->i_body, - psz_remote_addr, NULL,