diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-10 15:47:01 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-10 15:47:01 +0000 |
commit | 5c18ffdd1c4a2537514a593f307f6fbc9611e7a4 (patch) | |
tree | dfc72d31c0d03fa8c2debc4b93a0602d0d28e152 | |
parent | 85aedd00057ffa1842703bc87b2c864a4d19822b (diff) | |
download | mpv-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-x | configure | 17 | ||||
-rw-r--r-- | libvo/vo_directfb.c | 14 |
2 files changed, 30 insertions, 1 deletions
@@ -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: |