From 5c18ffdd1c4a2537514a593f307f6fbc9611e7a4 Mon Sep 17 00:00:00 2001 From: arpi Date: Sun, 10 Mar 2002 15:47:01 +0000 Subject: [PATCH] DirectFB 0.9.9 support - patch by Aubin Paul git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5027 b3059339-0415-0410-9bf9-f77b7e298cf2 --- configure | 17 +++++++++++++++++ libvo/vo_directfb.c | 14 +++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) 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 < +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: