summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac22
-rw-r--r--debian/changelog4
-rw-r--r--src/audio_out/audio_directx2_out.c8
-rw-r--r--src/audio_out/audio_directx_out.c6
-rw-r--r--src/input/input_cdda.c4
-rw-r--r--src/video_dec/Makefile.am4
-rw-r--r--src/video_dec/libmpeg2new/Makefile.am10
-rw-r--r--src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c18
-rw-r--r--src/video_out/video_out_directx.c24
11 files changed, 63 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog
index f3f1ebe59..cda157444 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -68,6 +68,10 @@ xine-lib (1.1.90) (Unreleased)
* Report more video output capabilities via (port)->get_capabilities():
colour controls, zooming, colour keying.
+xine-lib (1.1.17) 2009-??-??
+ * Enable libmpeg2new. This is not yet production code; the old mpeg2
+ decoder remains the default.
+
xine-lib (1.1.16.1) 2009-01-11
* Fix build with older ffmpeg, both internal and in Debian 5.0.
* Add version check for CACA library and disable CACA plugin if needed
diff --git a/Makefile.am b/Makefile.am
index 71f93f333..235ef5987 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -71,6 +71,8 @@ uninstall-hook:
install-data-hook:
@rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*.la
@rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*/*.la
+ @rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*.dll.a
+ @rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*/*.dll.a
@if test -x "$(top_srcdir)/post-install.sh" ; then \
$(top_srcdir)/post-install.sh ; \
fi
diff --git a/configure.ac b/configure.ac
index ca5af7b43..f6b524800 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1039,29 +1039,16 @@ if test "x$WIN32_SYS" = "xmingw32" -o "x$WIN32_SYS" = "xcygwin"; then
XINE_REL_PLUGINDIR="$XINE_REL_PLUGINROOT.$XINE_LT_AGE"
XINE_REL_FONTDIR="`echo "$XINE_REL_FONTDIR" | sed -e 's/\\//\\\\\\\\/g'`"
XINE_REL_LOCALEDIR="`echo "$XINE_REL_LOCALEDIR" | sed -e 's/\\//\\\\\\\\/g'`"
- dnl prefix in xine-config
- XINE_CONFIG_PREFIX="\$(cd \$(dirname \$0)/..; pwd)"
- dnl installation directories (in xine-config)
- XINE_PLUGINROOTPATH="$XINE_CONFIG_PREFIX/$XINE_REL_PLUGINROOT"
- XINE_PLUGINPATH="$XINE_PLUGINROOTPATH.$XINE_LT_AGE"
- XINE_FONTPATH="$XINE_CONFIG_PREFIX/$XINE_REL_FONTDIR"
- XINE_LOCALEPATH="$XINE_CONFIG_PREFIX/$XINE_REL_LOCALEDIR"
- dnl runtime directories
AC_DEFINE([XINE_PLUGINROOT],[xine_get_pluginroot()],[Define this to general plugins directory location])
AC_DEFINE([XINE_PLUGINDIR], [xine_get_plugindir()], [Define this to specific plugins directory location])
AC_DEFINE([XINE_FONTDIR], [xine_get_fontdir()], [Define this to osd fonts dir location])
AC_DEFINE([XINE_LOCALEDIR], [xine_get_localedir()], [Path where catalog files will be.])
else
- dnl prefix in xine-config
- XINE_CONFIG_PREFIX="`makeexpand "${prefix}"`"
- dnl directories from xine-config and runtime directories
XINE_PLUGINROOTPATH="`makeexpand "$XINE_PLUGINROOT"`"
- XINE_PLUGINPATH="$XINE_PLUGINROOTPATH.$XINE_LT_AGE"
XINE_FONTPATH="`makeexpand "$XINE_FONTDIR"`"
XINE_LOCALEPATH="`makeexpand "$XINE_LOCALEDIR"`"
- dnl defining runtime directories
AC_DEFINE_UNQUOTED([XINE_PLUGINROOT],["$XINE_PLUGINROOTPATH"], [Define this to general plugins directory location])
- AC_DEFINE_UNQUOTED([XINE_PLUGINDIR], ["$XINE_PLUGINPATH"], [Define this to soecific plugins directory location])
+ AC_DEFINE_UNQUOTED([XINE_PLUGINDIR], ["$XINE_PLUGINROOTPATH.$XINE_LT_AGE"], [Define this to soecific plugins directory location])
AC_DEFINE_UNQUOTED([XINE_FONTDIR], ["$XINE_FONTPATH"], [Define this to osd fonts dir location])
AC_DEFINE_UNQUOTED([XINE_LOCALEDIR], ["$XINE_LOCALEPATH"], [Path where catalog files will be.])
fi
@@ -1069,10 +1056,6 @@ AC_DEFINE_UNQUOTED([XINE_REL_PLUGINDIR], ["$XINE_REL_PLUGINDIR"], [Define this t
AC_DEFINE_UNQUOTED([XINE_REL_PLUGINROOT],["$XINE_REL_PLUGINROOT"],[Define this to general plugin directory relative to execution prefix])
AC_DEFINE_UNQUOTED([XINE_REL_FONTDIR], ["$XINE_REL_FONTDIR"], [Define this to font directory relative to prefix])
AC_DEFINE_UNQUOTED([XINE_REL_LOCALEDIR], ["$XINE_REL_LOCALEDIR"], [Define this to font directory relative to prefix])
-AC_SUBST(XINE_CONFIG_PREFIX)
-AC_SUBST(XINE_PLUGINPATH)
-AC_SUBST(XINE_FONTPATH)
-AC_SUBST(XINE_LOCALEPATH)
AC_SUBST(XINE_PLUGINDIR)
AC_SUBST(XINE_FONTDIR)
AC_SUBST(XINE_LOCALEDIR)
@@ -1266,6 +1249,9 @@ src/post/deinterlace/plugins/Makefile
src/spu_dec/Makefile
src/video_dec/Makefile
src/video_dec/libmpeg2/Makefile
+src/video_dec/libmpeg2new/Makefile
+src/video_dec/libmpeg2new/include/Makefile
+src/video_dec/libmpeg2new/libmpeg2/Makefile
src/video_out/Makefile
src/video_out/macosx/Makefile
src/xine-utils/Makefile
diff --git a/debian/changelog b/debian/changelog
index 0ceb2d890..b8dbb75e9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,7 +5,7 @@ xine-lib-1.2 (1.2.0~hg-0) experimental; urgency=low
-- Darren Salt <linux@youmustbejoking.demon.co.uk> Tue, 17 Apr 2007 16:50:37 +0100
-xine-lib (1.1.16~hg-0) unstable; urgency=low
+xine-lib (1.1.17~hg-0) unstable; urgency=low
[ Darren Salt ]
* Hg snapshot.
@@ -14,7 +14,7 @@ xine-lib (1.1.16~hg-0) unstable; urgency=low
* remove gs from build-dependencies
* change the maintainer field to xine-devel@lists.sourceforge.net.
- -- Darren Salt <linux@youmustbejoking.demon.co.uk> Fri, 15 Aug 2008 18:24:52 +0100
+ -- Darren Salt <linux@youmustbejoking.demon.co.uk> Mon, 12 Jan 2009 19:36:45 +0000
xine-lib (1.1.5~cvs-0) unstable; urgency=low
diff --git a/src/audio_out/audio_directx2_out.c b/src/audio_out/audio_directx2_out.c
index d853837ab..5a1929203 100644
--- a/src/audio_out/audio_directx2_out.c
+++ b/src/audio_out/audio_directx2_out.c
@@ -142,9 +142,13 @@ typedef struct {
* Defining them here allows us to get rid of the dxguid library during
* the linking stage.
*****************************************************************************/
-static const GUID IID_IDirectSoundNotify = {
+static const GUID xine_IID_IDirectSoundNotify = {
0xB0210783, 0x89CD, 0x11D0, {0xAF, 0x08, 0x00, 0xA0, 0xC9, 0x25, 0xCD, 0x16}
};
+#ifdef IID_IDirectSoundNotify
+# undef IID_IDirectSoundNotify
+#endif
+#define IID_IDirectSoundNotify xine_IID_IDirectSoundNotify
@@ -549,8 +553,6 @@ static size_t buffer_occupied_size(dx2_driver_t *this) {
/* service thread working with direct sound buffer */
static void *buffer_service(void *data) {
dx2_driver_t *this = (dx2_driver_t *)data;
- DWORD ret;
- size_t play_pos;
size_t buffer_min;
size_t data_in_buffer;
diff --git a/src/audio_out/audio_directx_out.c b/src/audio_out/audio_directx_out.c
index 60d61780b..7b5029a45 100644
--- a/src/audio_out/audio_directx_out.c
+++ b/src/audio_out/audio_directx_out.c
@@ -60,9 +60,13 @@ typedef unsigned char boolean;
* the linking stage.
*****************************************************************************/
#if 1
-static const GUID IID_IDirectSoundNotify = {
+static const GUID xine_IID_IDirectSoundNotify = {
0xB0210783,0x89CD,0x11D0,{0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16}
};
+#ifdef IID_IDirectSoundNotify
+# undef IID_IDirectSoundNotify
+#endif
+#define IID_IDirectSoundNotify xine_IID_IDirectSoundNotify
#endif
diff --git a/src/input/input_cdda.c b/src/input/input_cdda.c
index 697f9dec3..b7aed3a5e 100644
--- a/src/input/input_cdda.c
+++ b/src/input/input_cdda.c
@@ -2058,9 +2058,9 @@ static int cdda_open(cdda_input_plugin_t *this_gen,
hASPI = LoadLibrary( "wnaspi32.dll" );
if( hASPI != NULL )
{
- (FARPROC) lpGetSupport = GetProcAddress( hASPI,
+ lpGetSupport = GetProcAddress( hASPI,
"GetASPI32SupportInfo" );
- (FARPROC) lpSendCommand = GetProcAddress( hASPI,
+ lpSendCommand = GetProcAddress( hASPI,
"SendASPI32Command" );
}
diff --git a/src/video_dec/Makefile.am b/src/video_dec/Makefile.am
index 91246eb4d..bbafba88d 100644
--- a/src/video_dec/Makefile.am
+++ b/src/video_dec/Makefile.am
@@ -1,4 +1,6 @@
-SUBDIRS = libmpeg2
+SUBDIRS = \
+ libmpeg2 \
+ libmpeg2new
include $(top_srcdir)/misc/Makefile.common
diff --git a/src/video_dec/libmpeg2new/Makefile.am b/src/video_dec/libmpeg2new/Makefile.am
index 8c248fdcb..41c23878c 100644
--- a/src/video_dec/libmpeg2new/Makefile.am
+++ b/src/video_dec/libmpeg2new/Makefile.am
@@ -5,8 +5,10 @@ AM_LDFLAGS = $(xineplug_ldflags)
SUBDIRS = libmpeg2
-xineplug_LTLIBRARIES = xineplug_decode_mpeg2.la
+xineplug_LTLIBRARIES = xineplug_decode_mpeg2new.la
-xineplug_decode_mpeg2_la_SOURCES = xine_mpeg2_decoder.c
-xineplug_decode_mpeg2_la_LIBADD = $(XINE_LIB) ./libmpeg2/libmpeg2.la
-xineplug_decode_mpeg2_la_CFLAGS = $(AM_CFLAGS) $(MLIB_CFLAGS)
+xineplug_decode_mpeg2new_la_SOURCES = \
+ xine_mpeg2new_decoder.c
+
+xineplug_decode_mpeg2new_la_LIBADD = $(XINE_LIB) libmpeg2/libmpeg2.la
+xineplug_decode_mpeg2new_la_CFLAGS = $(AM_CFLAGS) $(MLIB_CFLAGS)
diff --git a/src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c b/src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
index 7494791b1..3e42a161d 100644
--- a/src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
+++ b/src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
@@ -35,13 +35,14 @@
#include <xine/video_out.h>
#include <xine/buffer.h>
-
-
+/*
#define LOG
#define LOG_FRAME_ALLOC_FREE
#define LOG_ENTRY
#define LOG_FRAME_COUNTER
+*/
+#define _x_abort() do {} while (0)
typedef struct {
video_decoder_class_t decoder_class;
@@ -66,7 +67,9 @@ typedef struct mpeg2_video_decoder_s {
} mpeg2_video_decoder_t;
-
+#ifndef LOG_FRAME_ALLOC_FREE
+inline static void mpeg2_video_print_bad_state(img_state_t * img_state) {}
+#else
static void mpeg2_video_print_bad_state(img_state_t * img_state) {
int32_t n,m;
m=0;
@@ -79,6 +82,7 @@ static void mpeg2_video_print_bad_state(img_state_t * img_state) {
if (m > 3) _x_abort();
if (m == 0) printf("NO FRAMES\n");
}
+#endif
static void mpeg2_video_free_all(img_state_t * img_state) {
int32_t n,m;
@@ -153,7 +157,7 @@ static void mpeg2_video_decode_data (video_decoder_t *this_gen, buf_element_t *b
_x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH, info->sequence->picture_width);
_x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT, info->sequence->picture_height);
_x_stream_info_set(this->stream, XINE_STREAM_INFO_FRAME_DURATION, info->sequence->frame_period / 300);
- if (this->force_aspect) info->sequence->pixel_width = this->force_aspect;
+ if (this->force_aspect) ((mpeg2_sequence_t *)info->sequence)->pixel_width = this->force_aspect; /* ugly... */
switch (info->sequence->pixel_width) {
case 3:
this->ratio = 16.0 / 9.0;
@@ -490,14 +494,14 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-static uint32_t supported_types[] = { BUF_VIDEO_MPEG, 0 };
+static const uint32_t supported_types[] = { BUF_VIDEO_MPEG, 0 };
-static decoder_info_t dec_info_mpeg2 = {
+static const decoder_info_t dec_info_mpeg2 = {
supported_types, /* supported types */
6 /* priority */
};
-plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_VIDEO_DECODER, 19, "mpeg2new", XINE_VERSION_CODE, &dec_info_mpeg2, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/video_out/video_out_directx.c b/src/video_out/video_out_directx.c
index 32cf58af3..ad0150bbd 100644
--- a/src/video_out/video_out_directx.c
+++ b/src/video_out/video_out_directx.c
@@ -55,21 +55,33 @@ typedef unsigned char boolean;
* the linking stage.
*****************************************************************************/
#if 1
-static const GUID IID_IDirectDraw = {
+static const GUID xine_IID_IDirectDraw = {
0x6C14DB80,0xA733,0x11CE,{0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60}
};
+#ifdef IID_IDirectDraw
+# undef IID_IDirectDraw
+#endif
+#define IID_IDirectDraw xine_IID_IDirectDraw
#endif
#if 0
static const GUID IID_IDirectDraw2 = {
0xB3A6F3E0,0x2B43,0x11CF,{0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56}
};
+#ifdef IID_IDirectDraw2
+# undef IID_IDirectDraw2
+#endif
+#define IID_IDirectDraw2 xine_IID_IDirectDraw2
#endif
#if 0
static const GUID IID_IDirectDraw4 = {
0x9C59509A,0x39BD,0x11D1,{0x8C,0x4A,0x00,0xC0,0x4F,0xD9,0x30,0xC5}
};
+#ifdef IID_IDirectDraw4
+# undef IID_IDirectDraw4
+#endif
+#define IID_IDirectDraw4 xine_IID_IDirectDraw4
#endif
/* -----------------------------------------
@@ -488,6 +500,7 @@ static boolean CheckPixelFormat( win32_driver_t * win32_driver )
return TRUE;
}
+#if 0
/* Create a Direct draw surface from
* a bitmap resource..
*
@@ -553,6 +566,7 @@ static LPDIRECTDRAWSURFACE CreateBMP( win32_driver_t * win32_driver, int resourc
return bmp_surf;
}
+#endif
/* Merge overlay with the current primary
* surface. This funtion is only used when
@@ -1162,11 +1176,10 @@ static int win32_gui_data_exchange( vo_driver_t * vo_driver, int data_type, void
UpdateRect( win32_driver->win32_visual );
DisplayFrame( win32_driver );
break;
-
case XINE_GUI_SEND_DRAWABLE_CHANGED:
- {
+ {
HRESULT result;
- HWND newWndHnd = (HWND) data;
+ HWND newWndHnd = (HWND) data;
/* set cooperative level */
result = IDirectDraw_SetCooperativeLevel( win32_driver->ddobj, newWndHnd, DDSCL_NORMAL );
@@ -1185,10 +1198,11 @@ static int win32_gui_data_exchange( vo_driver_t * vo_driver, int data_type, void
/* store our objects in our visual struct */
win32_driver->win32_visual->WndHnd = newWndHnd;
/* update video area and redraw current frame */
- UdateRect( win32_driver->win32_visual );
+ UpdateRect( win32_driver->win32_visual );
DisplayFrame( win32_driver );
break;
}
+ }
return 0;
}