Here is an update to Xine-lib 1.1.16. A bunch of security fixes and a lot of bug fixes.
* Security fixes: - Heap overflow in Quicktime atom parsing. (CVE-2008-5234 vector 1) - Multiple buffer overflows. (CVE-2008-5236) - Multiple integer overflows. (CVE-2008-5237) - Unchecked read function results. (CVE-2008-5239) - Unchecked malloc using untrusted values. (CVE-2008-5240 vectors 3 & 4) - Buffer indexing using an untrusted value. (CVE-2008-5243) Please test. Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/Makefile,v retrieving revision 1.45 diff -u -p -r1.45 Makefile --- Makefile 29 Dec 2008 23:26:21 -0000 1.45 +++ Makefile 8 Jan 2009 06:28:51 -0000 @@ -5,15 +5,15 @@ SHARED_ONLY= Yes COMMENT-main= multimedia decoding library COMMENT-jack= jackd audio output module for xine-lib -V= 1.1.15 +V= 1.1.16 DISTNAME= xine-lib-${V} -PKGNAME-main= ${DISTNAME}p7 +PKGNAME-main= ${DISTNAME} PKGNAME-jack= xine-lib-jack-${V} CATEGORIES= multimedia MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xine/} EXTRACT_SUFX= .tar.bz2 -SHARED_LIBS= xine 23.0 +SHARED_LIBS= xine 24.0 HOMEPAGE= http://xinehq.de/ @@ -41,7 +41,7 @@ LIB_DEPENDS-main= ${LIB_DEPENDS} \ FLAC.>=5::audio/flac \ SDL.>=3::devel/sdl \ a52::audio/liba52 \ - avcodec.>=7,postproc.>=7::graphics/ffmpeg \ + avcodec.>=7,avutil.>=7,postproc.>=7::graphics/ffmpeg \ dvdnav.>=5::multimedia/libdvdnav \ faad.>=2::audio/faad \ mad.>=2::audio/libmad \ @@ -61,7 +61,7 @@ USE_GMAKE= Yes USE_LIBTOOL= Yes LIBTOOL_FLAGS+= --tag=disable-static -XINEAPI_REV= 1.24 +XINEAPI_REV= 1.25 SUBST_VARS+= XINEAPI_REV .if ${MACHINE_ARCH} == "i386" Index: distinfo =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/distinfo,v retrieving revision 1.14 diff -u -p -r1.14 distinfo --- distinfo 20 Aug 2008 01:54:01 -0000 1.14 +++ distinfo 8 Jan 2009 05:57:38 -0000 @@ -1,5 +1,5 @@ -MD5 (xine-lib-1.1.15.tar.bz2) = QqK0iTt/iS6zNN4vw21JyA== -RMD160 (xine-lib-1.1.15.tar.bz2) = XGTdUcBabhfLbfy7ipAJuoVxx18= -SHA1 (xine-lib-1.1.15.tar.bz2) = vLVn6ioRxfJrI4TVQAuEZuqQSMY= -SHA256 (xine-lib-1.1.15.tar.bz2) = B93yqfUhQX3S8JdTSlLd2dKINnmTL5Za5+ewEl08ncw= -SIZE (xine-lib-1.1.15.tar.bz2) = 7478750 +MD5 (xine-lib-1.1.16.tar.bz2) = rNGiEMWmRE6P1EaWRpNSuw== +RMD160 (xine-lib-1.1.16.tar.bz2) = L8NeDF9tw/AL4Dlv7NQOWi+ziPU= +SHA1 (xine-lib-1.1.16.tar.bz2) = t6jRWayBvv4qLMDfIKTAoAzvStc= +SHA256 (xine-lib-1.1.16.tar.bz2) = J9+cj5Ynl7I11pFUcFz98Y0+Ml8Cj1Tj6AT22tuCN74= +SIZE (xine-lib-1.1.16.tar.bz2) = 7383219 Index: patches/patch-configure_ac =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-configure_ac,v retrieving revision 1.1 diff -u -p -r1.1 patch-configure_ac --- patches/patch-configure_ac 14 Dec 2008 23:57:34 -0000 1.1 +++ patches/patch-configure_ac 8 Jan 2009 06:09:35 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/12/14 23:57:34 brad Exp $ ---- configure.ac.orig Wed Aug 13 12:26:38 2008 -+++ configure.ac Wed Dec 10 23:54:45 2008 +--- configure.ac.orig Sun Jan 4 13:05:18 2009 ++++ configure.ac Thu Jan 8 01:09:27 2009 @@ -206,6 +206,10 @@ AC_PROG_GMSGFMT_PLURAL AC_CHECK_FUNCS([nl_langinfo]) @@ -12,7 +12,7 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/ dnl --------------------------------------------- dnl Checks for typedefs, structures, and compiler characteristics. dnl --------------------------------------------- -@@ -537,9 +541,9 @@ t q +@@ -539,9 +543,9 @@ t q b :q q" @@ -24,7 +24,7 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/ AC_DEFINE_UNQUOTED([LIBXV_SO], "${x_lib_location:-libXv.so}", [The soname of libXv, needed for dlopen()]) -@@ -1264,7 +1268,7 @@ if test "x$enable_a52dec" = "xno"; then +@@ -1259,7 +1263,7 @@ if test "x$enable_a52dec" = "xno"; then AC_MSG_RESULT([a52dec support disabled]) elif test "x$external_a52dec" = "xyes"; then have_a52="yes" @@ -33,7 +33,7 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/ [ #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> -@@ -1355,9 +1359,10 @@ if test "x$with_mng" = "xyes"; then +@@ -1350,9 +1354,10 @@ if test "x$with_mng" = "xyes"; then AC_CHECK_LIB(mng, mng_initialize, [ AC_CHECK_HEADER(libmng.h, [ have_libmng=yes @@ -46,7 +46,7 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/ AC_SUBST(MNG_LIBS) else have_libmng=no -@@ -1550,6 +1555,28 @@ AM_CONDITIONAL([HAVE_JACK], [test "x$have_jack" = "xye +@@ -1545,6 +1550,28 @@ AM_CONDITIONAL([HAVE_JACK], [test "x$have_jack" = "xye dnl --------------------------------------------- @@ -75,7 +75,7 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/ dnl gnome-vfs support dnl --------------------------------------------- -@@ -2513,7 +2540,7 @@ dnl --------------------------------------------- +@@ -2503,7 +2530,7 @@ dnl --------------------------------------------- XINE_BUILD_CC="`$CC -v 2>&1 | tail -1 2>/dev/null`" XINE_BUILD_OS="`uname -s -r -m`" @@ -84,16 +84,7 @@ $OpenBSD: patch-configure_ac,v 1.1 2008/ AC_SUBST(XINE_BUILD_CC) AC_SUBST(XINE_BUILD_OS) AC_SUBST(XINE_BUILD_DATE) -@@ -2651,7 +2678,7 @@ case $host in - dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads - dnl are requested, as different implementations are present; to avoid problems - dnl use -Wl,-z,defs only for those platform not behaving this way. -- *-freebsd*) ;; -+ *-freebsd*|*-openbsd*) ;; - *) - AC_TRY_LDFLAGS([-Wl,-z,defs], [NOUNDEF="-Wl,-z,defs"]) - ;; -@@ -3173,6 +3200,9 @@ if test "x$have_pulseaudio" = "xyes"; then +@@ -3157,6 +3184,9 @@ if test "x$have_pulseaudio" = "xyes"; then fi if test "x$have_jack" = "xyes"; then echo " - Jack" Index: patches/patch-m4_attributes_m4 =================================================================== RCS file: patches/patch-m4_attributes_m4 diff -N patches/patch-m4_attributes_m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-m4_attributes_m4 8 Jan 2009 06:13:53 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- m4/attributes.m4.orig Thu Jan 8 01:12:43 2009 ++++ m4/attributes.m4 Thu Jan 8 01:13:31 2009 +@@ -109,7 +109,7 @@ AC_DEFUN([CC_NOUNDEFINED], [ + dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads + dnl are requested, as different implementations are present; to avoid problems + dnl use -Wl,-z,defs only for those platform not behaving this way. +- *-freebsd*) ;; ++ *-freebsd* | *-openbsd*) ;; + *) + dnl First of all check for the --no-undefined variant of GNU ld. This allows + dnl for a much more readable commandline, so that people can understand what Index: patches/patch-src_audio_out_Makefile_in =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_audio_out_Makefile_in,v retrieving revision 1.12 diff -u -p -r1.12 patch-src_audio_out_Makefile_in --- patches/patch-src_audio_out_Makefile_in 29 Dec 2008 23:26:21 -0000 1.12 +++ patches/patch-src_audio_out_Makefile_in 8 Jan 2009 06:09:34 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_audio_out_Makefile_in,v 1.12 2008/12/29 23:26:21 jakemsr Exp $ ---- src/audio_out/Makefile.in.orig Thu Aug 14 17:18:39 2008 -+++ src/audio_out/Makefile.in Sat Dec 27 20:50:00 2008 -@@ -170,6 +170,18 @@ xineplug_ao_out_jack_la_LINK = $(LIBTOOL) --tag=CC $(A +--- src/audio_out/Makefile.in.orig Wed Jan 7 11:16:50 2009 ++++ src/audio_out/Makefile.in Thu Jan 8 01:02:34 2009 +@@ -171,6 +171,18 @@ xineplug_ao_out_jack_la_LINK = $(LIBTOOL) --tag=CC $(A $(xineplug_ao_out_jack_la_LDFLAGS) $(LDFLAGS) -o $@ @have_jack_t...@am_xineplug_ao_out_jack_la_rpath = -rpath \ @HAVE_JACK_TRUE@ $(xineplugdir) @@ -20,7 +20,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i xineplug_ao_out_none_la_DEPENDENCIES = $(XINE_LIB) \ $(am__DEPENDENCIES_1) am_xineplug_ao_out_none_la_OBJECTS = \ -@@ -233,6 +245,7 @@ SOURCES = $(xineplug_ao_out_alsa_la_SOURCES) \ +@@ -234,6 +246,7 @@ SOURCES = $(xineplug_ao_out_alsa_la_SOURCES) \ $(xineplug_ao_out_file_la_SOURCES) \ $(xineplug_ao_out_fusionsound_la_SOURCES) \ $(xineplug_ao_out_jack_la_SOURCES) \ @@ -28,7 +28,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i $(xineplug_ao_out_none_la_SOURCES) \ $(xineplug_ao_out_oss_la_SOURCES) \ $(xineplug_ao_out_pulseaudio_la_SOURCES) \ -@@ -246,6 +259,7 @@ DIST_SOURCES = $(xineplug_ao_out_alsa_la_SOURCES) \ +@@ -247,6 +260,7 @@ DIST_SOURCES = $(xineplug_ao_out_alsa_la_SOURCES) \ $(xineplug_ao_out_file_la_SOURCES) \ $(xineplug_ao_out_fusionsound_la_SOURCES) \ $(xineplug_ao_out_jack_la_SOURCES) \ @@ -36,7 +36,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i $(xineplug_ao_out_none_la_SOURCES) \ $(xineplug_ao_out_oss_la_SOURCES) \ $(xineplug_ao_out_pulseaudio_la_SOURCES) \ -@@ -355,6 +369,8 @@ IRIXAL_LIBS = @IRIXAL_LIBS@ +@@ -358,6 +372,8 @@ IRIXAL_LIBS = @IRIXAL_LIBS@ IRIXAL_STATIC_LIB = @IRIXAL_STATIC_LIB@ JACK_CFLAGS = @JACK_CFLAGS@ JACK_LIBS = @JACK_LIBS@ @@ -44,8 +44,8 @@ $OpenBSD: patch-src_audio_out_Makefile_i +SNDIO_LIBS = @SNDIO_LIBS@ KSTAT_LIBS = @KSTAT_LIBS@ LDFLAGS = @LDFLAGS@ - LIBCDIO_CFLAGS = @LIBCDIO_CFLAGS@ -@@ -583,6 +599,7 @@ EXTRA_DIST = audio_irixal_out.c + LDFLAGS_NOUNDEFINED = @LDFLAGS_NOUNDEFINED@ +@@ -586,6 +602,7 @@ EXTRA_DIST = audio_irixal_out.c @have_pulseaudio_t...@pulseaudio_module = xineplug_ao_out_pulseaudio.la @have_fusionsound_t...@fusionsound_module = xineplug_ao_out_fusionsound.la @have_jack_t...@jack_module = xineplug_ao_out_jack.la @@ -53,7 +53,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i # IMPORTANT: # --------- -@@ -600,7 +617,8 @@ xineplug_LTLIBRARIES = xineplug_ao_out_none.la xineplu +@@ -603,7 +620,8 @@ xineplug_LTLIBRARIES = xineplug_ao_out_none.la xineplu $(pulseaudio_module) \ $(directx2_module) \ $(fusionsound_module) \ @@ -63,7 +63,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i xineplug_ao_out_none_la_SOURCES = audio_none_out.c xineplug_ao_out_none_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) -@@ -667,6 +685,10 @@ xineplug_ao_out_jack_la_SOURCES = audio_jack_out.c +@@ -670,6 +688,10 @@ xineplug_ao_out_jack_la_SOURCES = audio_jack_out.c xineplug_ao_out_jack_la_LIBADD = $(XINE_LIB) $(JACK_LIBS) $(LTLIBINTL) xineplug_ao_out_jack_la_CFLAGS = $(VISIBILITY_FLAG) $(JACK_CFLAGS) xineplug_ao_out_jack_la_LDFLAGS = -avoid-version -module @@ -74,7 +74,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i all: all-am .SUFFIXES: -@@ -745,6 +767,8 @@ xineplug_ao_out_fusionsound.la: $(xineplug_ao_out_fusi +@@ -748,6 +770,8 @@ xineplug_ao_out_fusionsound.la: $(xineplug_ao_out_fusi $(xineplug_ao_out_fusionsound_la_LINK) $(am_xineplug_ao_out_fusionsound_la_rpath) $(xineplug_ao_out_fusionsound_la_OBJECTS) $(xineplug_ao_out_fusionsound_la_LIBADD) $(LIBS) xineplug_ao_out_jack.la: $(xineplug_ao_out_jack_la_OBJECTS) $(xineplug_ao_out_jack_la_DEPENDENCIES) $(xineplug_ao_out_jack_la_LINK) $(am_xineplug_ao_out_jack_la_rpath) $(xineplug_ao_out_jack_la_OBJECTS) $(xineplug_ao_out_jack_la_LIBADD) $(LIBS) @@ -83,7 +83,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i xineplug_ao_out_none.la: $(xineplug_ao_out_none_la_OBJECTS) $(xineplug_ao_out_none_la_DEPENDENCIES) $(xineplug_ao_out_none_la_LINK) -rpath $(xineplugdir) $(xineplug_ao_out_none_la_OBJECTS) $(xineplug_ao_out_none_la_LIBADD) $(LIBS) xineplug_ao_out_oss.la: $(xineplug_ao_out_oss_la_OBJECTS) $(xineplug_ao_out_oss_la_DEPENDENCIES) -@@ -769,6 +793,7 @@ distclean-compile: +@@ -772,6 +796,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/xineplug_ao_out_file_la-audio_file_out....@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/xineplug_ao_out_fusionsound_la-audio_fusionsound_out....@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/xineplug_ao_out_jack_la-audio_jack_out....@am__quote@ @@ -91,7 +91,7 @@ $OpenBSD: patch-src_audio_out_Makefile_i @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/xineplug_ao_out_none_la-audio_none_out....@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/xineplug_ao_out_oss_la-audio_oss_out....@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/xineplug_ao_out_pulseaudio_la-audio_pulse_out....@am__quote@ -@@ -857,6 +882,13 @@ xineplug_ao_out_jack_la-audio_jack_out.lo: audio_jack_ +@@ -860,6 +885,13 @@ xineplug_ao_out_jack_la-audio_jack_out.lo: audio_jack_ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='audio_jack_out.c' object='xineplug_ao_out_jack_la-audio_jack_out.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xineplug_ao_out_jack_la_CFLAGS) $(CFLAGS) -c -o xineplug_ao_out_jack_la-audio_jack_out.lo `test -f 'audio_jack_out.c' || echo '$(srcdir)/'`audio_jack_out.c Index: patches/patch-src_audio_out_audio_sun_out_c =================================================================== RCS file: patches/patch-src_audio_out_audio_sun_out_c diff -N patches/patch-src_audio_out_audio_sun_out_c --- patches/patch-src_audio_out_audio_sun_out_c 15 Jan 2008 00:36:46 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,60 +0,0 @@ -$OpenBSD: patch-src_audio_out_audio_sun_out_c,v 1.6 2008/01/15 00:36:46 jakemsr Exp $ ---- src/audio_out/audio_sun_out.c.orig Tue Jan 1 08:30:08 2008 -+++ src/audio_out/audio_sun_out.c Wed Jan 9 01:50:21 2008 -@@ -582,9 +582,9 @@ static int ao_sun_bytes_per_frame(ao_driver_t *this_ge - static int ao_sun_delay(ao_driver_t *this_gen) - { - sun_driver_t *this = (sun_driver_t *) this_gen; -+#ifdef __svr4__ - audio_info_t info; - --#ifdef __svr4__ - if (ioctl(this->audio_fd, AUDIO_GETINFO, &info) == 0 && - (this->frames_in_buffer == 0 || info.play.samples > 0)) { - -@@ -632,8 +632,9 @@ static int ao_sun_delay(ao_driver_t *this_gen) - #endif - } - #else -- if (ioctl(this->audio_fd, AUDIO_GETINFO, &info) == 0) -- return info.play.seek / this->bytes_per_frame; -+ u_long bytes; -+ if (ioctl(this->audio_fd, AUDIO_WSEEK, &bytes) == 0) -+ return bytes / this->bytes_per_frame; - #endif - return NOT_REAL_TIME; - } -@@ -888,8 +889,7 @@ static int ao_sun_ctrl(ao_driver_t *this_gen, int cmd, - - this->frames_in_buffer = 0; - this->last_samplecnt = 0; --#endif --#ifdef __NetBSD__ -+#else - ioctl(this->audio_fd, AUDIO_FLUSH); - #endif - break; -@@ -964,11 +964,20 @@ static ao_driver_t *ao_sun_open_plugin (audio_driver_c - status = ioctl(this->audio_fd, AUDIO_SETINFO, &info); - - if (status < 0) { -- xprintf(this->xine, XINE_VERBOSITY_LOG, -+ /* some devices are 48kHz only */ -+ AUDIO_INITINFO(&info); -+ info.play.encoding = AUDIO_ENCODING_LINEAR; -+ info.play.precision = AUDIO_PRECISION_16; -+ info.play.sample_rate = 48000; -+ status = ioctl(this->audio_fd, AUDIO_SETINFO, &info); -+ -+ if (status < 0) { -+ xprintf(this->xine, XINE_VERBOSITY_LOG, - _("audio_sun_out: audio ioctl on device %s failed: %s\n"), devname, strerror(errno)); - -- free (this); -- return NULL; -+ free (this); -+ return NULL; -+ } - } - - /* Index: patches/patch-src_demuxers_demux_flv_c =================================================================== RCS file: patches/patch-src_demuxers_demux_flv_c diff -N patches/patch-src_demuxers_demux_flv_c --- patches/patch-src_demuxers_demux_flv_c 16 Sep 2008 02:37:04 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,378 +0,0 @@ -$OpenBSD: patch-src_demuxers_demux_flv_c,v 1.1 2008/09/16 02:37:04 brad Exp $ ---- src/demuxers/demux_flv.c.orig Sat Jun 14 19:15:00 2008 -+++ src/demuxers/demux_flv.c Fri Sep 5 20:52:34 2008 -@@ -21,10 +21,10 @@ - /* - * Flash Video (.flv) File Demuxer - * by Mike Melanson (melan...@pcisys.net) and -- * Claudio Ciccani (k...@directfb.org) -+ * Claudio Ciccani (k...@users.sf.net) - * - * For more information on the FLV file format, visit: -- * http://download.macromedia.com/pub/flash/flash_file_format_specification.pdf -+ * http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v9.pdf - */ - - #ifdef HAVE_CONFIG_H -@@ -110,14 +110,20 @@ typedef struct { - #define FLV_SOUND_FORMAT_ADPCM 0x01 - #define FLV_SOUND_FORMAT_MP3 0x02 - #define FLV_SOUND_FORMAT_PCM_LE 0x03 -+#define FLV_SOUND_FORMAT_NELLY16 0x04 /* Nellymoser 16KHz */ - #define FLV_SOUND_FORMAT_NELLY8 0x05 /* Nellymoser 8KHz */ - #define FLV_SOUND_FORMAT_NELLY 0x06 /* Nellymoser */ -+#define FLV_SOUND_FORMAT_ALAW 0x07 /* G.711 A-LAW */ -+#define FLV_SOUND_FORMAT_MULAW 0x08 /* G.711 MU-LAW */ -+#define FLV_SOUND_FORMAT_AAC 0x0a -+#define FLV_SOUND_FORMAT_MP38 0x0e /* MP3 8KHz */ - - #define FLV_VIDEO_FORMAT_FLV1 0x02 /* Sorenson H.263 */ - #define FLV_VIDEO_FORMAT_SCREEN 0x03 - #define FLV_VIDEO_FORMAT_VP6 0x04 /* On2 VP6 */ - #define FLV_VIDEO_FORMAT_VP6A 0x05 /* On2 VP6 with alphachannel */ - #define FLV_VIDEO_FORMAT_SCREEN2 0x06 -+#define FLV_VIDEO_FORMAT_H264 0x07 - - #define FLV_DATA_TYPE_NUMBER 0x00 - #define FLV_DATA_TYPE_BOOL 0x01 -@@ -429,11 +435,24 @@ static int read_flv_packet(demux_flv_t *this, int prev - buf_type = BUF_AUDIO_FLVADPCM; - break; - case FLV_SOUND_FORMAT_MP3: -+ case FLV_SOUND_FORMAT_MP38: - buf_type = BUF_AUDIO_MPEG; - break; - case FLV_SOUND_FORMAT_PCM_LE: - buf_type = BUF_AUDIO_LPCM_LE; - break; -+ case FLV_SOUND_FORMAT_ALAW: -+ buf_type = BUF_AUDIO_ALAW; -+ break; -+ case FLV_SOUND_FORMAT_MULAW: -+ buf_type = BUF_AUDIO_MULAW; -+ break; -+ case FLV_SOUND_FORMAT_AAC: -+ buf_type = BUF_AUDIO_AAC; -+ /* AAC extra header */ -+ this->input->read(this->input, buffer, 1 ); -+ remaining_bytes--; -+ break; - default: - lprintf(" unsupported audio format (%d)...\n", buffer[0] >> 4); - buf_type = BUF_AUDIO_UNKNOWN; -@@ -464,8 +483,17 @@ static int read_flv_packet(demux_flv_t *this, int prev - } - remaining_bytes--; - -- if ((buffer[0] >> 4) == 0x01) -- buf_flags = BUF_FLAG_KEYFRAME; -+ switch ((buffer[0] >> 4)) { -+ case 0x01: -+ buf_flags = BUF_FLAG_KEYFRAME; -+ break; -+ case 0x05: -+ /* skip server command */ -+ this->input->seek(this->input, remaining_bytes, SEEK_CUR); -+ continue; -+ default: -+ break; -+ } - - this->videocodec = buffer[0] & 0x0F; /* override */ - switch (this->videocodec) { -@@ -484,6 +512,12 @@ static int read_flv_packet(demux_flv_t *this, int prev - this->input->read(this->input, buffer, 4); - remaining_bytes -= 4; - break; -+ case FLV_VIDEO_FORMAT_H264: -+ buf_type = BUF_VIDEO_H264; -+ /* AVC extra header */ -+ this->input->read(this->input, buffer, 4); -+ remaining_bytes -= 4; -+ break; - default: - lprintf(" unsupported video format (%d)...\n", buffer[0] & 0x0F); - buf_type = BUF_VIDEO_UNKNOWN; -@@ -511,6 +545,23 @@ static int read_flv_packet(demux_flv_t *this, int prev - bih->biSize++; - buf->size++; - } -+ else if (buf_type == BUF_VIDEO_H264 && buffer[0] == 0) { -+ /* AVC sequence header */ -+ if (remaining_bytes > buf->max_size-buf->size) { -+ xprintf(this->xine, XINE_VERBOSITY_LOG, -+ _("sequence header too big (%u bytes)!\n"), remaining_bytes); -+ this->input->read(this->input, buf->content+buf->size, buf->max_size-buf->size); -+ this->input->seek(this->input, remaining_bytes-buf->max_size-buf->size, SEEK_CUR); -+ bih->biSize = buf->max_size; -+ buf->size = buf->max_size; -+ } -+ else { -+ this->input->read(this->input, buf->content+buf->size, remaining_bytes); -+ bih->biSize += remaining_bytes; -+ buf->size += remaining_bytes; -+ } -+ remaining_bytes = 0; -+ } - fifo->put(fifo, buf); - this->got_video_header = 1; - } -@@ -537,11 +588,21 @@ static int read_flv_packet(demux_flv_t *this, int prev - buf->type = BUF_AUDIO_FLVADPCM; - break; - case FLV_SOUND_FORMAT_MP3: -+ case FLV_SOUND_FORMAT_MP38: - buf->type = BUF_AUDIO_MPEG; - break; - case FLV_SOUND_FORMAT_PCM_LE: - buf->type = BUF_AUDIO_LPCM_LE; - break; -+ case FLV_SOUND_FORMAT_ALAW: -+ buf->type = BUF_AUDIO_ALAW; -+ break; -+ case FLV_SOUND_FORMAT_MULAW: -+ buf->type = BUF_AUDIO_MULAW; -+ break; -+ case FLV_SOUND_FORMAT_AAC: -+ buf->type = BUF_AUDIO_AAC; -+ break; - default: - buf->type = BUF_AUDIO_UNKNOWN; - break; -@@ -549,9 +610,10 @@ static int read_flv_packet(demux_flv_t *this, int prev - buf->size = 0; - this->audio_fifo->put(this->audio_fifo, buf); - this->got_audio_header = 1; -+ lprintf(" got audio header from metadata...\n"); - } - -- if (!this->got_video_header && this->videocodec) { -+ if (!this->got_video_header && this->videocodec && this->videocodec != FLV_VIDEO_FORMAT_H264) { - xine_bmiheader *bih; - buf = this->video_fifo->buffer_pool_alloc(this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER | BUF_FLAG_STDHEADER | -@@ -583,6 +645,7 @@ static int read_flv_packet(demux_flv_t *this, int prev - } - this->video_fifo->put(this->video_fifo, buf); - this->got_video_header = 1; -+ lprintf(" got video header from metadata...\n"); - } - - return this->status; -@@ -600,33 +663,61 @@ static int read_flv_packet(demux_flv_t *this, int prev - while (remaining_bytes) { - buf = fifo->buffer_pool_alloc(fifo); - buf->type = buf_type; -- buf->pts = (int64_t) pts * 90; - -- if (!preview) -- check_newpts(this, buf->pts, (tag_type == FLV_TAG_TYPE_VIDEO)); -- - buf->extra_info->input_time = pts; - if (this->input->get_length(this->input)) { - buf->extra_info->input_normpos = - (int)((double)this->input->get_current_pos(this->input) * 65535.0 / this->size); - } -+ -+ if ((buf_type == BUF_VIDEO_H264 || buf_type == BUF_AUDIO_AAC) && buffer[0] == 0) { -+ /* AVC/AAC sequence header */ -+ buf->pts = 0; -+ buf->size = 0; -+ -+ buf->decoder_flags = BUF_FLAG_SPECIAL | BUF_FLAG_HEADER; -+ if (preview) -+ buf->decoder_flags |= BUF_FLAG_PREVIEW; - -- if (remaining_bytes > buf->max_size) -- buf->size = buf->max_size; -- else -- buf->size = remaining_bytes; -- remaining_bytes -= buf->size; -+ buf->decoder_info[1] = BUF_SPECIAL_DECODER_CONFIG; -+ buf->decoder_info[2] = MIN(remaining_bytes, buf->max_size); -+ buf->decoder_info_ptr[2] = buf->mem; -+ -+ if (this->input->read(this->input, buf->mem, buf->decoder_info[2]) != buf->decoder_info[2]) { -+ buf->free_buffer(buf); -+ this->status = DEMUX_FINISHED; -+ break; -+ } -+ -+ if (remaining_bytes > buf->max_size) { -+ xprintf(this->xine, XINE_VERBOSITY_LOG, -+ _("sequence header too big (%u bytes)!\n"), remaining_bytes); -+ this->input->seek(this->input, remaining_bytes-buf->max_size, SEEK_CUR); -+ } -+ remaining_bytes = 0; -+ } -+ else { -+ buf->pts = (int64_t) pts * 90; -+ if (!preview) -+ check_newpts(this, buf->pts, (tag_type == FLV_TAG_TYPE_VIDEO)); - -- buf->decoder_flags = buf_flags; -- if (preview) -- buf->decoder_flags |= BUF_FLAG_PREVIEW; -- if (!remaining_bytes) -- buf->decoder_flags |= BUF_FLAG_FRAME_END; -+ if (remaining_bytes > buf->max_size) -+ buf->size = buf->max_size; -+ else -+ buf->size = remaining_bytes; -+ remaining_bytes -= buf->size; - -- if (this->input->read(this->input, buf->content, buf->size) != buf->size) { -- buf->free_buffer(buf); -- this->status = DEMUX_FINISHED; -- break; -+ buf->decoder_flags = buf_flags; -+ if (preview) -+ buf->decoder_flags |= BUF_FLAG_PREVIEW; -+ if (!remaining_bytes) -+ buf->decoder_flags |= BUF_FLAG_FRAME_END; -+ -+ if (this->input->read(this->input, buf->content, buf->size) != buf->size) { -+ buf->free_buffer(buf); -+ this->status = DEMUX_FINISHED; -+ break; -+ } - } - - fifo->put(fifo, buf); -@@ -649,8 +740,8 @@ static void seek_flv_file(demux_flv_t *this, off_t see - - lprintf(" seeking %s to %d...\n", - do_rewind ? "backward" : "forward", seek_pts); -- -- if (seek_pts == 0) { -+ -+ if (seek_pos == 0 && seek_pts == 0) { - this->input->seek(this->input, this->start, SEEK_SET); - this->cur_pts = 0; - return; -@@ -676,11 +767,9 @@ static void seek_flv_file(demux_flv_t *this, off_t see - - this->input->seek(this->input, this->index[i].offset-4, SEEK_SET); - this->cur_pts = this->index[i].pts; -- return; - } - } -- -- if (seek_pos && this->videocodec && abs(seek_pts-this->cur_pts) > 300000) { -+ else if (seek_pos && this->videocodec && abs(seek_pts-this->cur_pts) > 300000) { - off_t pos, size; - - pos = this->input->get_current_pos(this->input); -@@ -715,49 +804,50 @@ static void seek_flv_file(demux_flv_t *this, off_t see - - lprintf(" ...resync failed!\n"); - this->input->seek(this->input, pos, SEEK_SET); -- return; - } -- -- while (do_rewind ? (seek_pts < this->cur_pts) : (seek_pts > this->cur_pts)) { -- unsigned char tag_type; -- int data_size; -- int ptag_size; -+ else if (seek_pts) { -+ while (do_rewind ? (seek_pts < this->cur_pts) : (seek_pts > this->cur_pts)) { -+ unsigned char tag_type; -+ int data_size; -+ int ptag_size; - -- if (next_tag) -- this->input->seek(this->input, next_tag, SEEK_CUR); -+ if (next_tag) -+ this->input->seek(this->input, next_tag, SEEK_CUR); - -- len = this->input->read(this->input, buffer, 16); -- if (len != 16) { -- len = (len < 0) ? 0 : len; -- break; -- } -+ len = this->input->read(this->input, buffer, 16); -+ if (len != 16) { -+ len = (len < 0) ? 0 : len; -+ break; -+ } - -- ptag_size = _X_BE_32(&buffer[0]); -- tag_type = buffer[4]; -- data_size = _X_BE_24(&buffer[5]); -- pts = _X_BE_24(&buffer[8]) | (buffer[11] << 24); -+ ptag_size = _X_BE_32(&buffer[0]); -+ tag_type = buffer[4]; -+ data_size = _X_BE_24(&buffer[5]); -+ pts = _X_BE_24(&buffer[8]) | (buffer[11] << 24); - -- if (do_rewind) { -- if (!ptag_size) break; /* beginning of movie */ -- next_tag = -(ptag_size + 16 + 4); -- } -- else { -- next_tag = data_size - 1; -- } -+ if (do_rewind) { -+ if (!ptag_size) -+ break; /* beginning of movie */ -+ next_tag = -(ptag_size + 16 + 4); -+ } -+ else { -+ next_tag = data_size - 1; -+ } - -- if (this->flags & FLV_FLAG_HAS_VIDEO) { -- /* sync to video key frame */ -- if (tag_type != FLV_TAG_TYPE_VIDEO || (buffer[15] >> 4) != 0x01) -- continue; -- lprintf(" video keyframe found at %d...\n", pts); -+ if (this->flags & FLV_FLAG_HAS_VIDEO) { -+ /* sync to video key frame */ -+ if (tag_type != FLV_TAG_TYPE_VIDEO || (buffer[15] >> 4) != 0x01) -+ continue; -+ lprintf(" video keyframe found at %d...\n", pts); -+ } -+ this->cur_pts = pts; - } -- this->cur_pts = pts; -- } - -- /* seek back to the beginning of the tag */ -- this->input->seek(this->input, -len, SEEK_CUR); -+ /* seek back to the beginning of the tag */ -+ this->input->seek(this->input, -len, SEEK_CUR); - -- lprintf( " seeked to %d.\n", pts); -+ lprintf( " seeked to %d.\n", pts); -+ } - } - - -@@ -807,8 +897,12 @@ static int demux_flv_seek (demux_plugin_t *this_gen, - this->status = DEMUX_OK; - - if (INPUT_IS_SEEKABLE(this->input)) { -- if (start_pos && !start_time) -- start_time = (int64_t) this->length * start_pos / 65535; -+ if (start_pos && !start_time) { -+ if (this->length) -+ start_time = (int64_t) this->length * start_pos / 65535; -+ else if (this->index) -+ start_time = this->index[(int)(start_pos * (this->num_indices-1) / 65535)].pts; -+ } - - if (!this->length || start_time < this->length) { - seek_flv_file(this, start_pos, start_time); -@@ -875,12 +969,6 @@ static demux_plugin_t *open_plugin (demux_class_t *cla - - switch (stream->content_detection_method) { - case METHOD_BY_EXTENSION: -- if (!_x_demux_check_extension(input->get_mrl(input), "flv")) { -- free (this); -- return NULL; -- } -- -- /* falling through is intended */ - case METHOD_BY_CONTENT: - case METHOD_EXPLICIT: - if (!open_flv_file(this)) { Index: patches/patch-src_demuxers_demux_mpeg_pes_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_demuxers_demux_mpeg_pes_c,v retrieving revision 1.3 diff -u -p -r1.3 patch-src_demuxers_demux_mpeg_pes_c --- patches/patch-src_demuxers_demux_mpeg_pes_c 18 Jun 2008 01:26:41 -0000 1.3 +++ patches/patch-src_demuxers_demux_mpeg_pes_c 8 Jan 2009 06:09:34 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_demuxers_demux_mpeg_pes_c,v 1.3 2008/06/18 01:26:41 brad Exp $ ---- src/demuxers/demux_mpeg_pes.c.orig Sat Jun 14 19:15:00 2008 -+++ src/demuxers/demux_mpeg_pes.c Mon Jun 16 02:30:50 2008 -@@ -815,7 +815,7 @@ static int32_t parse_pes_for_pts(demux_mpeg_pes_t *thi +--- src/demuxers/demux_mpeg_pes.c.orig Wed Jan 7 11:14:32 2009 ++++ src/demuxers/demux_mpeg_pes.c Thu Jan 8 01:02:34 2009 +@@ -814,7 +814,7 @@ static int32_t parse_pes_for_pts(demux_mpeg_pes_t *thi _("demux_mpeg_pes: warning: PES header indicates that " "this stream may be encrypted (encryption mode %d)\n"), (p[6] & 0x30) >> 4); _x_message (this->stream, XINE_MSG_ENCRYPTED_SOURCE, Index: patches/patch-src_demuxers_demux_qt_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_demuxers_demux_qt_c,v retrieving revision 1.6 diff -u -p -r1.6 patch-src_demuxers_demux_qt_c --- patches/patch-src_demuxers_demux_qt_c 18 Jun 2008 01:26:41 -0000 1.6 +++ patches/patch-src_demuxers_demux_qt_c 8 Jan 2009 06:09:34 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_demuxers_demux_qt_c,v 1.6 2008/06/18 01:26:41 brad Exp $ ---- src/demuxers/demux_qt.c.orig Sat Jun 14 19:15:00 2008 -+++ src/demuxers/demux_qt.c Mon Jun 16 02:30:50 2008 -@@ -3022,7 +3022,7 @@ static demux_plugin_t *open_plugin (demux_class_t *cla +--- src/demuxers/demux_qt.c.orig Wed Jan 7 11:14:32 2009 ++++ src/demuxers/demux_qt.c Thu Jan 8 01:02:34 2009 +@@ -3049,7 +3049,7 @@ static demux_plugin_t *open_plugin (demux_class_t *cla /* special consideration for DRM-protected files */ if (this->qt->last_error == QT_DRM_NOT_SUPPORTED) _x_message (this->stream, XINE_MSG_ENCRYPTED_SOURCE, Index: patches/patch-src_input_Makefile_in =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_Makefile_in,v retrieving revision 1.12 diff -u -p -r1.12 patch-src_input_Makefile_in --- patches/patch-src_input_Makefile_in 2 Jul 2008 01:02:42 -0000 1.12 +++ patches/patch-src_input_Makefile_in 8 Jan 2009 06:09:39 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_input_Makefile_in,v 1.12 2008/07/02 01:02:42 brad Exp $ ---- src/input/Makefile.in.orig Sun Jun 29 13:13:04 2008 -+++ src/input/Makefile.in Sun Jun 29 20:54:12 2008 -@@ -595,7 +595,7 @@ EXTRA_DIST = input_dvd.c input_vcd.c input_gnome_vfs.c +--- src/input/Makefile.in.orig Wed Jan 7 11:16:52 2009 ++++ src/input/Makefile.in Thu Jan 8 01:02:34 2009 +@@ -597,7 +597,7 @@ EXTRA_DIST = input_dvd.c input_vcd.c input_gnome_vfs.c # --------- # All of xine input plugins should be named like the scheme "xineplug_inp_" # Index: patches/patch-src_input_input_cdda_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_input_cdda_c,v retrieving revision 1.6 diff -u -p -r1.6 patch-src_input_input_cdda_c --- patches/patch-src_input_input_cdda_c 31 Aug 2008 00:35:08 -0000 1.6 +++ patches/patch-src_input_input_cdda_c 8 Jan 2009 06:09:33 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_input_input_cdda_c,v 1.6 2008/08/31 00:35:08 brad Exp $ ---- src/input/input_cdda.c.orig Wed Aug 13 12:33:05 2008 -+++ src/input/input_cdda.c Wed Aug 27 19:50:47 2008 +--- src/input/input_cdda.c.orig Sun Jan 4 10:47:28 2009 ++++ src/input/input_cdda.c Thu Jan 8 01:02:34 2009 @@ -72,7 +72,7 @@ #elif defined(WIN32) #define DEFAULT_CDDA_DEVICE "d:\\" @@ -10,15 +10,6 @@ $OpenBSD: patch-src_input_input_cdda_c,v #endif #define CDDB_SERVER "freedb.freedb.org" -@@ -136,7 +136,7 @@ typedef struct { - char *disc_category; - - int fd; -- unsigned long disc_id; -+ uint32_t disc_id; - - int disc_length; - trackinfo_t *track; @@ -611,7 +611,7 @@ static int read_cdrom_frames(cdda_input_plugin_t *this return 0; } @@ -82,21 +73,3 @@ $OpenBSD: patch-src_input_input_cdda_c,v scsireq_t req; int nblocks = 1; -@@ -1902,7 +1902,7 @@ static unsigned int _cdda_cddb_sum(int n) { - } - return ret; - } --static unsigned long _cdda_calc_cddb_id(cdda_input_plugin_t *this) { -+static uint32_t _cdda_calc_cddb_id(cdda_input_plugin_t *this) { - int i, tsum = 0; - - if(this == NULL || (this->cddb.num_tracks <= 0)) -@@ -1959,7 +1959,7 @@ static void _cdda_cdindex(cdda_input_plugin_t *this, c - /* - * return cbbd disc id. - */ --static unsigned long _cdda_get_cddb_id(cdda_input_plugin_t *this) { -+static uint32_t _cdda_get_cddb_id(cdda_input_plugin_t *this) { - - if(this == NULL || (this->cddb.num_tracks <= 0)) - return 0; Index: patches/patch-src_input_input_dvd_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_input_dvd_c,v retrieving revision 1.5 diff -u -p -r1.5 patch-src_input_input_dvd_c --- patches/patch-src_input_input_dvd_c 18 Jun 2008 01:26:41 -0000 1.5 +++ patches/patch-src_input_input_dvd_c 8 Jan 2009 06:09:33 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_input_input_dvd_c,v 1.5 2008/06/18 01:26:41 brad Exp $ ---- src/input/input_dvd.c.orig Sat Jun 14 19:15:00 2008 -+++ src/input/input_dvd.c Mon Jun 16 02:30:50 2008 +--- src/input/input_dvd.c.orig Wed Jan 7 11:14:32 2009 ++++ src/input/input_dvd.c Thu Jan 8 01:02:34 2009 @@ -116,8 +116,8 @@ #define DVD_PATH "d:\\" #define RDVD_PATH "d:\\" @@ -21,7 +21,7 @@ $OpenBSD: patch-src_input_input_dvd_c,v if (block != buf->mem) dvdnav_free_cache_block(this->dvdnav, block); buf->free_buffer(buf); return NULL; -@@ -1491,7 +1491,7 @@ static int dvd_plugin_open (input_plugin_t *this_gen) +@@ -1494,7 +1494,7 @@ static int dvd_plugin_open (input_plugin_t *this_gen) xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("input_dvd: Error opening DVD device\n")); _x_message(this->stream, XINE_MSG_READ_ERROR, /* FIXME: see FIXME in dvd_parse_try_open() */ Index: patches/patch-src_input_input_file_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_input_file_c,v retrieving revision 1.3 diff -u -p -r1.3 patch-src_input_input_file_c --- patches/patch-src_input_input_file_c 15 Jan 2008 00:36:46 -0000 1.3 +++ patches/patch-src_input_input_file_c 8 Jan 2009 06:09:33 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_input_input_file_c,v 1.3 2008/01/15 00:36:46 jakemsr Exp $ ---- src/input/input_file.c.orig Tue Jan 1 08:30:08 2008 -+++ src/input/input_file.c Wed Jan 9 01:58:02 2008 -@@ -200,7 +200,7 @@ static buf_element_t *file_plugin_read_block (input_pl +--- src/input/input_file.c.orig Wed Jan 7 11:14:32 2009 ++++ src/input/input_file.c Thu Jan 8 01:02:34 2009 +@@ -208,7 +208,7 @@ static buf_element_t *file_plugin_read_block (input_pl xine_log (this->stream->xine, XINE_LOG_MSG, _("input_file: read error (%s)\n"), strerror(errno)); _x_message(this->stream, XINE_MSG_READ_ERROR, @@ -10,7 +10,7 @@ $OpenBSD: patch-src_input_input_file_c,v } buf->free_buffer (buf); buf = NULL; -@@ -356,11 +356,11 @@ static int file_plugin_open (input_plugin_t *this_gen +@@ -364,11 +364,11 @@ static int file_plugin_open (input_plugin_t *this_gen if (this->fh == -1) { if (errno == EACCES) { @@ -24,7 +24,7 @@ $OpenBSD: patch-src_input_input_file_c,v xine_log (this->stream->xine, XINE_LOG_MSG, _("input_file: File not found: >%s<\n"), this->mrl); } -@@ -397,7 +397,7 @@ static int file_plugin_open (input_plugin_t *this_gen +@@ -405,7 +405,7 @@ static int file_plugin_open (input_plugin_t *this_gen #endif if (file_plugin_get_length (this_gen) == 0) { Index: patches/patch-src_input_input_http_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_input_http_c,v retrieving revision 1.5 diff -u -p -r1.5 patch-src_input_input_http_c --- patches/patch-src_input_input_http_c 2 Jul 2008 01:02:42 -0000 1.5 +++ patches/patch-src_input_input_http_c 8 Jan 2009 06:09:33 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_input_input_http_c,v 1.5 2008/07/02 01:02:42 brad Exp $ ---- src/input/input_http.c.orig Wed Jun 25 09:04:09 2008 -+++ src/input/input_http.c Sun Jun 29 20:54:12 2008 +--- src/input/input_http.c.orig Wed Jan 7 11:14:32 2009 ++++ src/input/input_http.c Thu Jan 8 01:02:34 2009 @@ -409,7 +409,7 @@ static off_t http_plugin_read_int (http_input_plugin_t error: @@ -10,7 +10,7 @@ $OpenBSD: patch-src_input_input_http_c,v xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: read error %d\n"), errno); return read_bytes; } -@@ -671,7 +671,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -679,7 +679,7 @@ static int http_plugin_open (input_plugin_t *this_gen if (http_plugin_basicauth (this_class->proxyuser, this_class->proxypassword, this->proxyauth, BUFSIZE)) { @@ -19,7 +19,7 @@ $OpenBSD: patch-src_input_input_http_c,v return 0; } } -@@ -680,7 +680,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -688,7 +688,7 @@ static int http_plugin_open (input_plugin_t *this_gen if (!_x_parse_url(this->mrl, &this->proto, &this->host, &this->port, &this->user, &this->password, &this->uri)) { @@ -28,7 +28,7 @@ $OpenBSD: patch-src_input_input_http_c,v return 0; } use_proxy = use_proxy && _x_use_proxy(this_class, this->host); -@@ -690,7 +690,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -698,7 +698,7 @@ static int http_plugin_open (input_plugin_t *this_gen if (this->user && strlen(this->user)) { if (http_plugin_basicauth (this->user, this->password, this->auth, BUFSIZE)) { @@ -37,7 +37,7 @@ $OpenBSD: patch-src_input_input_http_c,v return -1; } } -@@ -744,7 +744,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -752,7 +752,7 @@ static int http_plugin_open (input_plugin_t *this_gen } while ((res == XIO_TIMEOUT) && (progress <= 100000)); if (res != XIO_READY) { @@ -46,7 +46,7 @@ $OpenBSD: patch-src_input_input_http_c,v return -3; } } -@@ -784,7 +784,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -792,7 +792,7 @@ static int http_plugin_open (input_plugin_t *this_gen "\015\012", VERSION); if (_x_io_tcp_write (this->stream, this->fh, this->buf, buflen) != buflen) { @@ -55,7 +55,7 @@ $OpenBSD: patch-src_input_input_http_c,v xprintf(this_class->xine, XINE_VERBOSITY_DEBUG, "input_http: couldn't send request\n"); return -4; } -@@ -828,7 +828,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -836,7 +836,7 @@ static int http_plugin_open (input_plugin_t *this_gen (sscanf(this->buf, "ICY %d %50[^\015\012]", /* icecast 1 ? */ &httpcode, httpstatus) != 2) ) { @@ -64,7 +64,7 @@ $OpenBSD: patch-src_input_input_http_c,v xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: invalid http answer\n")); return -6; -@@ -839,20 +839,20 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -847,20 +847,20 @@ static int http_plugin_open (input_plugin_t *this_gen _("input_http: 3xx redirection: >%d %s<\n"), httpcode, httpstatus); } else if (httpcode == 404) { @@ -88,7 +88,7 @@ $OpenBSD: patch-src_input_input_http_c,v xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: http status not 2xx: >%d %s<\n"), httpcode, httpstatus); -@@ -949,7 +949,7 @@ static int http_plugin_open (input_plugin_t *this_gen +@@ -957,7 +957,7 @@ static int http_plugin_open (input_plugin_t *this_gen } else len ++; if ( len >= BUFSIZE ) { Index: patches/patch-src_input_input_net_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_input_net_c,v retrieving revision 1.2 diff -u -p -r1.2 patch-src_input_input_net_c --- patches/patch-src_input_input_net_c 15 Jan 2008 00:36:46 -0000 1.2 +++ patches/patch-src_input_input_net_c 8 Jan 2009 06:09:33 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_input_input_net_c,v 1.2 2008/01/15 00:36:46 jakemsr Exp $ ---- src/input/input_net.c.orig Tue Jan 1 08:30:08 2008 -+++ src/input/input_net.c Wed Jan 9 01:50:22 2008 -@@ -272,7 +272,7 @@ static off_t net_plugin_read (input_plugin_t *this_gen +--- src/input/input_net.c.orig Wed Jan 7 11:14:32 2009 ++++ src/input/input_net.c Thu Jan 8 01:02:35 2009 +@@ -275,7 +275,7 @@ static off_t net_plugin_read (input_plugin_t *this_gen xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "input_net: got %" PRIdMAX " bytes (%" PRIdMAX "/%" PRIdMAX " bytes read)\n", (intmax_t)n, (intmax_t)total, (intmax_t)len); if (n < 0) { Index: patches/patch-src_input_input_stdin_fifo_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_input_stdin_fifo_c,v retrieving revision 1.2 diff -u -p -r1.2 patch-src_input_input_stdin_fifo_c --- patches/patch-src_input_input_stdin_fifo_c 15 Jan 2008 00:36:46 -0000 1.2 +++ patches/patch-src_input_input_stdin_fifo_c 8 Jan 2009 06:09:33 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_input_input_stdin_fifo_c,v 1.2 2008/01/15 00:36:46 jakemsr Exp $ ---- src/input/input_stdin_fifo.c.orig Tue Jan 1 08:30:08 2008 -+++ src/input/input_stdin_fifo.c Wed Jan 9 01:50:22 2008 -@@ -104,7 +104,7 @@ static off_t stdin_plugin_read (input_plugin_t *this_g +--- src/input/input_stdin_fifo.c.orig Wed Jan 7 11:14:32 2009 ++++ src/input/input_stdin_fifo.c Thu Jan 8 01:02:35 2009 +@@ -106,7 +106,7 @@ static off_t stdin_plugin_read (input_plugin_t *this_g lprintf ("got %"PRId64" bytes (%"PRId64"/%"PRId64" bytes read)\n", n,total,len); if (n < 0) { Index: patches/patch-src_input_mms_c =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_input_mms_c,v retrieving revision 1.6 diff -u -p -r1.6 patch-src_input_mms_c --- patches/patch-src_input_mms_c 18 Jun 2008 01:26:41 -0000 1.6 +++ patches/patch-src_input_mms_c 8 Jan 2009 06:09:33 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_input_mms_c,v 1.6 2008/06/18 01:26:41 brad Exp $ ---- src/input/mms.c.orig Sat Jun 14 19:15:00 2008 -+++ src/input/mms.c Mon Jun 16 02:30:50 2008 +--- src/input/mms.c.orig Sun Jan 4 10:47:28 2009 ++++ src/input/mms.c Thu Jan 8 01:06:20 2009 @@ -48,6 +48,7 @@ #include <iconv.h> #include <locale.h> @@ -13,7 +13,7 @@ $OpenBSD: patch-src_input_mms_c,v 1.6 20 #ifdef USE_ICONV static iconv_t string_utf16_open() { -- return iconv_open("UTF-16LE", nl_langinfo(CODESET)); +- return iconv_open("UTF-16LE", "UTF-8"); + return iconv_open("UTF-16LE", locale_charset()); } Index: patches/patch-src_libw32dll_wine_Makefile_in =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_libw32dll_wine_Makefile_in,v retrieving revision 1.11 diff -u -p -r1.11 patch-src_libw32dll_wine_Makefile_in --- patches/patch-src_libw32dll_wine_Makefile_in 2 Jul 2008 01:02:42 -0000 1.11 +++ patches/patch-src_libw32dll_wine_Makefile_in 8 Jan 2009 06:09:34 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_libw32dll_wine_Makefile_in,v 1.11 2008/07/02 01:02:42 brad Exp $ ---- src/libw32dll/wine/Makefile.in.orig Sun Jun 29 13:13:11 2008 -+++ src/libw32dll/wine/Makefile.in Sun Jun 29 20:54:14 2008 +--- src/libw32dll/wine/Makefile.in.orig Wed Jan 7 11:16:59 2009 ++++ src/libw32dll/wine/Makefile.in Thu Jan 8 01:02:35 2009 @@ -61,7 +61,7 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) libwine_la_LIBADD = am_libwine_la_OBJECTS = afl.lo driver.lo elfdll.lo ext.lo \ @@ -10,7 +10,7 @@ $OpenBSD: patch-src_libw32dll_wine_Makef libwine_la_OBJECTS = $(am_libwine_la_OBJECTS) @have_w32dll_t...@am_libwine_la_rpath = DEFAULT_INCLUDES = -...@am__isrc@ -I$(top_builddir)/include -@@ -429,6 +429,7 @@ libwine_la_SOURCES = \ +@@ -431,6 +431,7 @@ libwine_la_SOURCES = \ registry.c \ vfl.c \ win32.c \ @@ -18,7 +18,7 @@ $OpenBSD: patch-src_libw32dll_wine_Makef stubs.s \ wrapper.S -@@ -534,6 +535,7 @@ distclean-compile: +@@ -536,6 +537,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/vfl....@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/win32....@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/wrapper....@am__quote@ Index: patches/patch-src_post_deinterlace_Makefile_in =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_post_deinterlace_Makefile_in,v retrieving revision 1.4 diff -u -p -r1.4 patch-src_post_deinterlace_Makefile_in --- patches/patch-src_post_deinterlace_Makefile_in 2 Jul 2008 01:02:42 -0000 1.4 +++ patches/patch-src_post_deinterlace_Makefile_in 8 Jan 2009 06:09:35 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_post_deinterlace_Makefile_in,v 1.4 2008/07/02 01:02:42 brad Exp $ ---- src/post/deinterlace/Makefile.in.orig Sun Jun 29 13:13:13 2008 -+++ src/post/deinterlace/Makefile.in Sun Jun 29 20:54:14 2008 -@@ -425,7 +425,7 @@ xinepostdir = $(XINE_PLUGINDIR)/post +--- src/post/deinterlace/Makefile.in.orig Wed Jan 7 11:17:01 2009 ++++ src/post/deinterlace/Makefile.in Thu Jan 8 01:02:35 2009 +@@ -427,7 +427,7 @@ xinepostdir = $(XINE_PLUGINDIR)/post vidixdir = $(XINE_PLUGINDIR)/vidix SUBDIRS = plugins EXTRA_DIST = Index: patches/patch-src_post_deinterlace_plugins_Makefile_in =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_post_deinterlace_plugins_Makefile_in,v retrieving revision 1.4 diff -u -p -r1.4 patch-src_post_deinterlace_plugins_Makefile_in --- patches/patch-src_post_deinterlace_plugins_Makefile_in 2 Jul 2008 01:02:42 -0000 1.4 +++ patches/patch-src_post_deinterlace_plugins_Makefile_in 8 Jan 2009 06:09:35 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_post_deinterlace_plugins_Makefile_in,v 1.4 2008/07/02 01:02:42 brad Exp $ ---- src/post/deinterlace/plugins/Makefile.in.orig Sun Jun 29 13:13:13 2008 -+++ src/post/deinterlace/plugins/Makefile.in Sun Jun 29 20:54:14 2008 -@@ -857,7 +857,7 @@ maintainer-clean-generic: +--- src/post/deinterlace/plugins/Makefile.in.orig Wed Jan 7 11:17:01 2009 ++++ src/post/deinterlace/plugins/Makefile.in Thu Jan 8 01:02:35 2009 +@@ -859,7 +859,7 @@ maintainer-clean-generic: -rm -f Makefile.in # Avoid "can't find register" failures with -O0, -O2, -O3 (gcc 4.0) Index: patches/patch-src_xine-engine_Makefile_in =================================================================== RCS file: /cvs/ports/multimedia/xine-lib/patches/patch-src_xine-engine_Makefile_in,v retrieving revision 1.7 diff -u -p -r1.7 patch-src_xine-engine_Makefile_in --- patches/patch-src_xine-engine_Makefile_in 2 Jul 2008 01:02:42 -0000 1.7 +++ patches/patch-src_xine-engine_Makefile_in 8 Jan 2009 06:09:33 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_xine-engine_Makefile_in,v 1.7 2008/07/02 01:02:42 brad Exp $ ---- src/xine-engine/Makefile.in.orig Sun Jun 29 13:13:17 2008 -+++ src/xine-engine/Makefile.in Sun Jun 29 20:54:14 2008 -@@ -434,7 +434,7 @@ libxine_la_DEPENDENCIES = $(XINEUTILS_LIB) \ +--- src/xine-engine/Makefile.in.orig Wed Jan 7 11:17:04 2009 ++++ src/xine-engine/Makefile.in Thu Jan 8 01:02:35 2009 +@@ -436,7 +436,7 @@ libxine_la_DEPENDENCIES = $(XINEUTILS_LIB) \ libxine_la_LIBADD = $(PTHREAD_LIBS) $(DYNAMIC_LD_LIBS) $(LTLIBINTL) $(ZLIB_LIBS) \ -lm $(XINEUTILS_LIB) $(LTLIBICONV) $(FT2_LIBS) $(FONTCONFIG_LIBS) \ Index: patches/patch-src_xine-engine_buffer_h =================================================================== RCS file: patches/patch-src_xine-engine_buffer_h diff -N patches/patch-src_xine-engine_buffer_h --- patches/patch-src_xine-engine_buffer_h 21 Aug 2008 21:56:49 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-src_xine-engine_buffer_h,v 1.1 2008/08/21 21:56:49 brad Exp $ ---- src/xine-engine/buffer.h.orig Thu Aug 21 12:31:23 2008 -+++ src/xine-engine/buffer.h Thu Aug 21 12:35:07 2008 -@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader *bih ) XINE_PR - /* convert xine_waveformatex struct from little endian */ - void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED; - --static inline _x_is_fourcc(void *ptr, void *tag) { -+static __inline int _x_is_fourcc(void *ptr, void *tag) { - return memcmp(ptr, tag, 4) == 0; - } - -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.