On Fri, Jan 30, 2009 at 02:47:25AM +0000, Stuart Henderson wrote: > This should go in, either like this or with wavpack added. > Any objections?
I found it to be considerably less stable than 1.1.15, but security fixes should probably go in. > On 2009/01/11 19:45, Brad wrote: > > On Sat, Jan 10, 2009 at 06:26:52PM -0500, Brad wrote: > > > On Thu, Jan 08, 2009 at 02:21:37AM -0500, Brad wrote: > > > > 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. > > > > > > If you had problems building the previous revision of this diff please > > > try this revision as it should resolve those issues.. > > > > A quick 1.1.16.1 release has been made which consits of mainly > > bug fixes, build fixes and a regression fix or two for 1.1.16. > > 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 12 Jan 2009 00:22:23 -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.1 > > 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.>=6,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 12 Jan 2009 00:23:18 -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.1.tar.bz2) = neEdt+JixWTP26mEGgkuvg== > > +RMD160 (xine-lib-1.1.16.1.tar.bz2) = PHaxL66Muofm07zq/L8vs++U4WQ= > > +SHA1 (xine-lib-1.1.16.1.tar.bz2) = gnCSVKBgPjlxBYqs+FeJJrddSiA= > > +SHA256 (xine-lib-1.1.16.1.tar.bz2) = > > n8JS0G5dskJlyDB2Z2vR8dDgk1cyufIex/yqw1v4CjY= > > +SIZE (xine-lib-1.1.16.1.tar.bz2) = 7382381 > > 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 12 Jan 2009 00:25:07 -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 11 18:58:58 2009 > > ++++ configure.ac Sun Jan 11 19:24:07 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 > > +@@ -1261,7 +1265,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 > > +@@ -1352,9 +1356,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 > > +@@ -1547,6 +1552,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 --------------------------------------------- > > +@@ -2505,7 +2532,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 > > +@@ -3159,6 +3186,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. > > > -- jake...@sdf.lonestar.org SDF Public Access UNIX System - http://sdf.lonestar.org