summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-10 15:47:01 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-10 15:47:01 +0000
commit5c18ffdd1c4a2537514a593f307f6fbc9611e7a4 (patch)
treedfc72d31c0d03fa8c2debc4b93a0602d0d28e152
parent85aedd00057ffa1842703bc87b2c864a4d19822b (diff)
downloadmpv-5c18ffdd1c4a2537514a593f307f6fbc9611e7a4.tar.bz2
mpv-5c18ffdd1c4a2537514a593f307f6fbc9611e7a4.tar.xz
DirectFB 0.9.9 support - patch by Aubin Paul <aubin@punknews.org>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5027 b3059339-0415-0410-9bf9-f77b7e298cf2
-rwxr-xr-xconfigure17
-rw-r--r--libvo/vo_directfb.c14
2 files changed, 30 insertions, 1 deletions
diff --git a/configure b/configure
index 937133e9b7..213f3a0f08 100755
--- a/configure
+++ b/configure
@@ -1507,6 +1507,23 @@ else
fi
echores "$_directfb"
+echocheck "DirectFB >= 0.9.9"
+if test "$_directfb" = auto; then
+ _directfb=no
+ cat > $TMPC <<EOF
+#include <directfb.h>
+nt main(void) { IDirectFBEventBuffer *foo; return 0; }
+EOF
+ linux && test -c /dev/fb0 && cc_check -ldirectfb && _directfb=yes
+fi
+if test "$_directfb" = yes ; then
+ _def_directfb='#define HAVE_DIRECTFB099 1'
+else
+ _def_directfb='#undef HAVE_DIRECTFB'
+fi
+echores "$_directfb"
+
+
# Checking for localization ...
echocheck "language"
diff --git a/libvo/vo_directfb.c b/libvo/vo_directfb.c
index 078988b1d8..728c7d44a0 100644
--- a/libvo/vo_directfb.c
+++ b/libvo/vo_directfb.c
@@ -108,7 +108,12 @@ static IDirectFBSurface *frame = NULL;
/*
* A buffer for input events.
*/
+
+#ifdef HAVE_DIRECTFB099
+static IDirectFBEventBuffer *buffer = NULL;
+#else
static IDirectFBInputBuffer *buffer = NULL;
+#endif
/******************************
* vo_directfb *
@@ -574,7 +579,11 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
/*
* Create an input buffer for the keyboard.
*/
+#ifdef HAVE_DIRECTFB099
+ DFBCHECK (keyboard->CreateEventBuffer (DICAPS_ALL, &buffer));
+#else
DFBCHECK (keyboard->CreateInputBuffer (keyboard, &buffer));
+#endif
// yuv2rgb transform init
@@ -797,8 +806,11 @@ static void check_events(void)
{
DFBInputEvent event;
-
+#ifdef HAVE_DIRECTFB099
+if (buffer->GetEvent (buffer, DFB_EVENT(&event)) == DFB_OK) {
+#else
if (buffer->GetEvent (buffer, &event) == DFB_OK) {
+#endif
if (event.type == DIET_KEYPRESS) {
switch (event.keycode) {
case DIKC_ESCAPE: