aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorDima Panov <fluffy@FreeBSD.org>2009-12-14 10:04:01 +0000
committerDima Panov <fluffy@FreeBSD.org>2009-12-14 10:04:01 +0000
commit66ea309511aae82035e13250ec93c6c2620ae50b (patch)
treee832e558a2928ecd5b595266127b8aa83296d230 /multimedia
parent495b1b471233fad5376762bf04f534eeee232d62 (diff)
downloadports-66ea309511aae82035e13250ec93c6c2620ae50b.tar.gz
ports-66ea309511aae82035e13250ec93c6c2620ae50b.zip
Notes
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/vlc/Makefile9
-rw-r--r--multimedia/vlc/distinfo6
-rw-r--r--multimedia/vlc/files/patch-modules_control_globalhotkeys_xcb.c308
3 files changed, 8 insertions, 315 deletions
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index 9c5a741d1500..5d443708494b 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -9,8 +9,7 @@
#
PORTNAME= vlc
-DISTVERSION= 1.0.3
-PORTREVISION= 4
+DISTVERSION= 1.0.4
PORTEPOCH= 3
CATEGORIES= multimedia audio ipv6 net www
MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/ \
@@ -70,6 +69,10 @@ USE_GNOME= gnomehack gnometarget libxml2
.if !defined(WITHOUT_SDL) && !defined(WITHOUT_X11)
WANT_SDL= yes
.endif
+.if !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
+USE_QT_VER+= 4
+QT_COMPONENTS+= gui corelib moc_build rcc_build uic_build
+.endif
USE_ICONV= yes
USE_PERL5_BUILD=yes
@@ -109,8 +112,6 @@ BROKEN= Does not compile with perl ${PERL_VERSION}
.endif
.if !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
-USE_QT_VER+= 4
-QT_COMPONENTS+= gui corelib moc_build rcc_build uic_build
CONFIGURE_ARGS+=--enable-qt4
.else
CONFIGURE_ARGS+=--disable-qt4
diff --git a/multimedia/vlc/distinfo b/multimedia/vlc/distinfo
index e281fcc0886d..6fd9e5481455 100644
--- a/multimedia/vlc/distinfo
+++ b/multimedia/vlc/distinfo
@@ -1,3 +1,3 @@
-MD5 (vlc-1.0.3.tar.bz2) = d0945c2489551c102a3f0f15e4591555
-SHA256 (vlc-1.0.3.tar.bz2) = e44e3b9fe27eb6e9b0f543ba54c0ebd2bc3e41851fb347dc2e8b7123fa7a7c77
-SIZE (vlc-1.0.3.tar.bz2) = 21115820
+MD5 (vlc-1.0.4.tar.bz2) = 3a0db00380b6d5b24dc7eb73e5d8ae51
+SHA256 (vlc-1.0.4.tar.bz2) = dbff0ba0cd60a4323f85fd8b918f2a4477a11c5a8f628d1b868fb5947e8e9896
+SIZE (vlc-1.0.4.tar.bz2) = 21622966
diff --git a/multimedia/vlc/files/patch-modules_control_globalhotkeys_xcb.c b/multimedia/vlc/files/patch-modules_control_globalhotkeys_xcb.c
deleted file mode 100644
index b8da61c2ae5c..000000000000
--- a/multimedia/vlc/files/patch-modules_control_globalhotkeys_xcb.c
+++ /dev/null
@@ -1,308 +0,0 @@
---- ./modules/control/globalhotkeys/xcb.c.orig 2009-05-10 19:03:55.000000000 -0400
-+++ ./modules/control/globalhotkeys/xcb.c 2009-11-17 13:39:36.000000000 -0500
-@@ -28,6 +28,7 @@
- #include <vlc_interface.h>
- #include <vlc_keys.h>
- #include <ctype.h>
-+#include <errno.h>
-
- #include <xcb/xcb.h>
- #include <xcb/xcb_keysyms.h>
-@@ -56,7 +57,11 @@
-
- typedef struct
- {
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
- xcb_keycode_t i_x11;
-+#else
-+ xcb_keycode_t *p_keys;
-+#endif
- unsigned i_modifier;
- int i_action;
- } hotkey_mapping_t;
-@@ -96,7 +101,7 @@
- p_sys->p_connection = xcb_connect( psz_display, &i_screen_default );
- free( psz_display );
-
-- if( !p_sys->p_connection )
-+ if( xcb_connection_has_error( p_sys->p_connection ) )
- goto error;
-
- /* Get the root windows of the default screen */
-@@ -125,6 +130,10 @@
- if( vlc_clone( &p_sys->thread, Thread, p_intf, VLC_THREAD_PRIORITY_LOW ) )
- {
- Unregister( p_intf );
-+#ifndef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+ if( p_sys->p_map )
-+ free( p_sys->p_map->p_keys );
-+#endif
- free( p_sys->p_map );
- goto error;
- }
-@@ -133,8 +142,7 @@
- error:
- if( p_sys->p_symbols )
- xcb_key_symbols_free( p_sys->p_symbols );
-- if( p_sys->p_connection )
-- xcb_disconnect( p_sys->p_connection );
-+ xcb_disconnect( p_sys->p_connection );
- free( p_sys );
- return VLC_EGENERIC;
- }
-@@ -151,6 +159,10 @@
- vlc_join( p_sys->thread, NULL );
-
- Unregister( p_intf );
-+#ifndef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+ if( p_sys->p_map )
-+ free( p_sys->p_map->p_keys );
-+#endif
- free( p_sys->p_map );
-
- xcb_key_symbols_free( p_sys->p_symbols );
-@@ -164,16 +176,43 @@
- static unsigned GetModifier( xcb_connection_t *p_connection, xcb_key_symbols_t *p_symbols, xcb_keysym_t sym )
- {
- static const unsigned pi_mask[8] = {
-- XCB_MOD_MASK_SHIFT, XCB_MOD_MASK_LOCK, XCB_MOD_MASK_CONTROL, XCB_MOD_MASK_1,
-- XCB_MOD_MASK_2, XCB_MOD_MASK_3, XCB_MOD_MASK_4, XCB_MOD_MASK_5
-+ XCB_MOD_MASK_SHIFT, XCB_MOD_MASK_LOCK, XCB_MOD_MASK_CONTROL,
-+ XCB_MOD_MASK_1, XCB_MOD_MASK_2, XCB_MOD_MASK_3,
-+ XCB_MOD_MASK_4, XCB_MOD_MASK_5
- };
-
-+ if( sym == 0 )
-+ return 0; /* no modifier */
-+
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
- const xcb_keycode_t key = xcb_key_symbols_get_keycode( p_symbols, sym );
- if( key == 0 )
- return 0;
-+#else
-+ const xcb_keycode_t *p_keys = xcb_key_symbols_get_keycode( p_symbols, sym );
-+ if( !p_keys )
-+ return 0;
-
-- xcb_get_modifier_mapping_cookie_t r = xcb_get_modifier_mapping( p_connection );
-- xcb_get_modifier_mapping_reply_t *p_map = xcb_get_modifier_mapping_reply( p_connection, r, NULL );
-+ int i = 0;
-+ bool no_modifier = true;
-+ while( p_keys[i] != XCB_NO_SYMBOL )
-+ {
-+ if( p_keys[i] != 0 )
-+ {
-+ no_modifier = false;
-+ break;
-+ }
-+ i++;
-+ }
-+
-+ if( no_modifier )
-+ return 0;
-+#endif
-+
-+ xcb_get_modifier_mapping_cookie_t r =
-+ xcb_get_modifier_mapping( p_connection );
-+ xcb_get_modifier_mapping_reply_t *p_map =
-+ xcb_get_modifier_mapping_reply( p_connection, r, NULL );
- if( !p_map )
- return 0;
-
-@@ -181,20 +220,30 @@
- if( !p_keycode )
- return 0;
-
-- unsigned i_mask = 0;
- for( int i = 0; i < 8; i++ )
-- {
- for( int j = 0; j < p_map->keycodes_per_modifier; j++ )
-- {
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
- if( p_keycode[i * p_map->keycodes_per_modifier + j] == key )
-- i_mask = pi_mask[i];
-- }
-- }
-+ {
-+ free( p_map );
-+ return pi_mask[i];
-+ }
-+#else
-+ for( int k = 0; p_keys[k] != XCB_NO_SYMBOL; k++ )
-+ if( p_keycode[i*p_map->keycodes_per_modifier + j] == p_keys[k])
-+ {
-+ free( p_map );
-+ return pi_mask[i];
-+ }
-+#endif
-
- free( p_map ); // FIXME to check
-- return i_mask;
-+ return 0;
- }
--static unsigned GetX11Modifier( xcb_connection_t *p_connection, xcb_key_symbols_t *p_symbols, unsigned i_vlc )
-+
-+
-+static unsigned GetX11Modifier( xcb_connection_t *p_connection,
-+ xcb_key_symbols_t *p_symbols, unsigned i_vlc )
- {
- unsigned i_mask = 0;
-
-@@ -225,7 +274,6 @@
-
- { XK_Return, KEY_ENTER },
- { XK_KP_Enter, KEY_ENTER },
-- { XK_space, KEY_SPACE },
- { XK_Escape, KEY_ESC },
-
- { XK_Menu, KEY_MENU },
-@@ -253,16 +301,16 @@
- };
- static xcb_keysym_t GetX11Key( unsigned i_vlc )
- {
-+ /* X11 and VLC use ASCII for printable ASCII characters */
-+ if( i_vlc >= 32 && i_vlc <= 127 )
-+ return i_vlc;
-+
- for( int i = 0; x11keys_to_vlckeys[i].i_vlc != 0; i++ )
- {
- if( x11keys_to_vlckeys[i].i_vlc == i_vlc )
- return x11keys_to_vlckeys[i].i_x11;
- }
-
-- /* Copied from xcb, it seems that xcb use ascii code for ascii characters */
-- if( isascii( i_vlc ) )
-- return i_vlc;
--
- return XK_VoidSymbol;
- }
-
-@@ -281,7 +329,7 @@
- p_sys->p_map = NULL;
-
- /* Registering of Hotkeys */
-- for( struct hotkey *p_hotkey = p_intf->p_libvlc->p_hotkeys;
-+ for( const struct hotkey *p_hotkey = p_intf->p_libvlc->p_hotkeys;
- p_hotkey->psz_action != NULL;
- p_hotkey++ )
- {
-@@ -291,23 +339,34 @@
-
- const int i_vlc_action = p_hotkey->i_action;
- const int i_vlc_key = config_GetInt( p_intf, psz_hotkey );
--
- free( psz_hotkey );
-
- if( !i_vlc_key )
- continue;
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+ const xcb_keycode_t key = xcb_key_symbols_get_keycode(
-+ p_sys->p_symbols, GetX11Key( i_vlc_key & ~KEY_MODIFIER ) );
-+#else
-+ xcb_keycode_t *p_keys = xcb_key_symbols_get_keycode(
-+ p_sys->p_symbols, GetX11Key( i_vlc_key & ~KEY_MODIFIER ) );
-+ if( !p_keys )
-+ continue;
-+#endif
-+ const unsigned i_modifier = GetX11Modifier( p_sys->p_connection,
-+ p_sys->p_symbols, i_vlc_key & KEY_MODIFIER );
-
-- const xcb_keycode_t key = xcb_key_symbols_get_keycode( p_sys->p_symbols, GetX11Key( i_vlc_key & ~KEY_MODIFIER ) );
-- const unsigned i_modifier = GetX11Modifier( p_sys->p_connection, p_sys->p_symbols, i_vlc_key & KEY_MODIFIER );
--
-- for( int j = 0; j < sizeof(p_x11_modifier_ignored)/sizeof(*p_x11_modifier_ignored); j++ )
-+ const size_t max = sizeof(p_x11_modifier_ignored) /
-+ sizeof(*p_x11_modifier_ignored);
-+ for( unsigned int i = 0; i < max; i++ )
- {
-- const unsigned i_ignored = GetModifier( p_sys->p_connection, p_sys->p_symbols, p_x11_modifier_ignored[j] );
-- if( j != 0 && i_ignored == 0x00)
-+ const unsigned i_ignored = GetModifier( p_sys->p_connection,
-+ p_sys->p_symbols, p_x11_modifier_ignored[i] );
-+ if( i != 0 && i_ignored == 0)
- continue;
-
- hotkey_mapping_t *p_map_old = p_sys->p_map;
-- p_sys->p_map = realloc( p_sys->p_map, sizeof(*p_sys->p_map) * (p_sys->i_map+1) );
-+ p_sys->p_map = realloc( p_sys->p_map,
-+ sizeof(*p_sys->p_map) * (p_sys->i_map+1) );
- if( !p_sys->p_map )
- {
- p_sys->p_map = p_map_old;
-@@ -315,7 +374,11 @@
- }
- hotkey_mapping_t *p_map = &p_sys->p_map[p_sys->i_map++];
-
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
- p_map->i_x11 = key;
-+#else
-+ p_map->p_keys = p_keys;
-+#endif
- p_map->i_modifier = i_modifier|i_ignored;
- p_map->i_action = i_vlc_action;
- }
-@@ -329,9 +392,18 @@
- for( int i = 0; i < p_sys->i_map; i++ )
- {
- const hotkey_mapping_t *p_map = &p_sys->p_map[i];
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
- xcb_grab_key( p_sys->p_connection, true, p_sys->root,
- p_map->i_modifier, p_map->i_x11,
- XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC );
-+#else
-+ for( int j = 0; p_map->p_keys[j] != XCB_NO_SYMBOL; j++ )
-+ {
-+ xcb_grab_key( p_sys->p_connection, true, p_sys->root,
-+ p_map->i_modifier, p_map->p_keys[j],
-+ XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC );
-+ }
-+#endif
- }
- }
- static void Unregister( intf_thread_t *p_intf )
-@@ -341,7 +413,14 @@
- for( int i = 0; i < p_sys->i_map; i++ )
- {
- const hotkey_mapping_t *p_map = &p_sys->p_map[i];
-- xcb_ungrab_key( p_sys->p_connection, p_map->i_x11, p_sys->root, p_map->i_modifier );
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+ xcb_ungrab_key( p_sys->p_connection, p_map->i_x11, p_sys->root,
-+ p_map->i_modifier );
-+#else
-+ for( int j = 0; p_map->p_keys[j] != XCB_NO_SYMBOL; j++ )
-+ xcb_ungrab_key( p_sys->p_connection, p_map->p_keys[j], p_sys->root,
-+ p_map->i_modifier );
-+#endif
- }
- }
-
-@@ -387,12 +466,28 @@
- {
- hotkey_mapping_t *p_map = &p_sys->p_map[i];
-
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
- if( p_map->i_x11 == e->detail &&
- p_map->i_modifier == e->state )
- {
-- var_SetInteger( p_intf->p_libvlc, "key-action", p_map->i_action );
-+ var_SetInteger( p_intf->p_libvlc, "key-action",
-+ p_map->i_action );
- break;
- }
-+#else
-+ bool loop_break = false;
-+ for( int j = 0; p_map->p_keys[j] != XCB_NO_SYMBOL; j++ )
-+ if( p_map->p_keys[j] == e->detail &&
-+ p_map->i_modifier == e->state )
-+ {
-+ var_SetInteger( p_intf->p_libvlc, "key-action",
-+ p_map->i_action );
-+ loop_break = true;
-+ break;
-+ }
-+ if( loop_break )
-+ break;
-+#endif
- }
- free( p_event );
- }