diff --git a/.gitignore b/.gitignore index 8055d9a..328a530 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -vlc-1.0.5.tar.bz2 +vlc-1.1.0-pre1.tar.bz2 diff --git a/0001-Default-libv4l2-to-true.patch b/0001-Default-libv4l2-to-true.patch deleted file mode 100644 index 4130154..0000000 --- a/0001-Default-libv4l2-to-true.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d3bef7cde676ad96ce036cb10aa534ca1c5d0e24 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet (kwizart) -Date: Tue, 26 May 2009 18:38:07 +0200 -Subject: [PATCH] Default libv4l2 to true - ---- - modules/access/v4l2.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/modules/access/v4l2.c b/modules/access/v4l2.c -index 31dae66..42a8e9d 100644 ---- a/modules/access/v4l2.c -+++ b/modules/access/v4l2.c -@@ -261,7 +261,7 @@ vlc_module_begin () - add_integer( CFG_PREFIX "caching", DEFAULT_PTS_DELAY / 1000, NULL, - CACHING_TEXT, CACHING_LONGTEXT, true ) - #ifdef HAVE_LIBV4L2 -- add_bool( CFG_PREFIX "use-libv4l2", false, NULL, LIBV4L2_TEXT, LIBV4L2_LONGTEXT, true ); -+ add_bool( CFG_PREFIX "use-libv4l2", true, NULL, LIBV4L2_TEXT, LIBV4L2_LONGTEXT, true ); - #endif - - set_section( N_( "Tuner" ), NULL ) --- -1.6.0.6 - diff --git a/300_all_pic.patch b/300_all_pic.patch deleted file mode 100644 index 2129efa..0000000 --- a/300_all_pic.patch +++ /dev/null @@ -1,209 +0,0 @@ -Index: vlc-0.9.0-svn/libs/loader/Makefile.am -=================================================================== ---- vlc-0.9.0-svn.orig/libs/loader/Makefile.am -+++ vlc-0.9.0-svn/libs/loader/Makefile.am -@@ -16,7 +16,7 @@ endif - # TODO: real check for vsscanf() and - AM_CPPFLAGS = -D__WINE__ -DHAVE_SYS_MMAN_H=1 -DHAVE_VSSCANF=1 \ - -DWIN32_PATH=\"\" -DTRACE\(...\)=\(void\)0 --AM_CFLAGS = -fno-PIC `$(top_builddir)/vlc-config --cflags` -U_FILE_OFFSET_BITS \ -+AM_CFLAGS = -fPIC `$(top_builddir)/vlc-config --cflags` -U_FILE_OFFSET_BITS \ - -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer - - noinst_HEADERS = com.h driver.h ext.h ldt_keeper.h loader.h registry.h \ -Index: vlc-0.9.0-svn/libs/loader/module.c -=================================================================== ---- vlc-0.9.0-svn.orig/libs/loader/module.c -+++ vlc-0.9.0-svn/libs/loader/module.c -@@ -63,8 +63,8 @@ - - #ifdef EMU_QTX_API - #include "wrapper.h" --static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); --static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); -+int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); -+int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); - #endif - - //#undef TRACE -@@ -572,8 +572,6 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR lib - fprintf(stderr,"QuickTime.qts patched!!! old entry=%p\n",ptr[0]); - - #ifdef EMU_QTX_API -- report_entry = report_func; -- report_ret = report_func_ret; - wrapper_target=ptr[0]; - ptr[0]=wrapper; - #endif -@@ -754,7 +752,7 @@ static int dump_component(char* name,int - static uint32_t ret_array[4096]; - static int ret_i=0; - --static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) -+int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) - { - #ifdef DEBUG_QTX_API - int i; -@@ -953,7 +951,7 @@ static int report_func(void *stack_base, - return 0; - } - --static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) -+int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) - { - int i; - short err; -@@ -1066,8 +1064,6 @@ FARPROC MODULE_GetProcAddress( - // || !strcmp(function,"_CallComponent") - ){ - fprintf(stderr,"theQuickTimeDispatcher catched -> %p\n",retproc); -- report_entry = report_func; -- report_ret = report_func_ret; - wrapper_target=(void(*)(void))retproc; - retproc=(FARPROC)wrapper; - } -Index: vlc-0.9.0-svn/libs/loader/stubs.s -=================================================================== ---- vlc-0.9.0-svn.orig/libs/loader/stubs.s -+++ vlc-0.9.0-svn/libs/loader/stubs.s -@@ -33,3 +33,6 @@ exp_EH_prolog: - leal 12(%esp), %ebp - pushl %eax - ret -+ -+.section .note.GNU-stack,"",@progbits -+ -Index: vlc-0.9.0-svn/libs/loader/wrapper.S -=================================================================== ---- vlc-0.9.0-svn.orig/libs/loader/wrapper.S -+++ vlc-0.9.0-svn/libs/loader/wrapper.S -@@ -1,17 +1,19 @@ - .section .data --.globl caller_return - caller_return: - .long 0 --.globl report_entry --report_entry: -- .long null_call --.globl report_ret --report_ret: -- .long null_call - .global wrapper_target - wrapper_target: - .long null_call - -+#undef __i686 /* gcc define gets in our way */ -+ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits -+.globl __i686.get_pc_thunk.bx -+ .hidden __i686.get_pc_thunk.bx -+ .type __i686.get_pc_thunk.bx,@function -+__i686.get_pc_thunk.bx: -+ movl (%esp), %ebx -+ ret -+ - .section .text - .globl null_call - .type null_call, @function -@@ -22,46 +24,60 @@ null_call: - .type wrapper, @function - .balign 16,0x90 - wrapper: -+ pushl $0 - pusha # store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI) - pushf # store flags - - push %ebp # set up a stack frame - movl %esp, %ebp - -+ call __i686.get_pc_thunk.bx -+ addl $_GLOBAL_OFFSET_TABLE_, %ebx -+ - leal 4(%ebp), %eax # push flags addr - push %eax - leal 8(%ebp), %eax # push registers addr - push %eax -- -- leal 40(%ebp), %edx -+ -+ leal 44(%ebp), %edx - movl (%ebp), %eax - subl %edx, %eax - push %eax - push %edx -- -- call *report_entry # report entry -- -+ -+ call report_func@PLT # report entry -+ - test %eax, %eax - jnz .Ldone - -+ movl 44(%ebp), %eax # switch return addresses -+ movl %eax, caller_return@GOTOFF(%ebx) -+ leal .Lwrapper_return@GOTOFF(%ebx), %eax -+ movl %eax, 40(%ebp) -+ -+ movl wrapper_target@GOTOFF(%ebx), %eax -+ mov %eax, 40(%ebp) # wrapper_target should return at .Lwrapper_return -+ - leave # restore %esp, %ebp - popf # restore flags - popa # restore registers -- -- popl caller_return # switch return addresses -- pushl $.Lwrapper_return -- -- jmp *wrapper_target # wrapper_target should return at .Lwrapper_return -+ -+ ret - - .balign 16, 0x90 - .Lwrapper_return: -- pushl caller_return # restore the original return address -+ pushl $0 # restore the original return address - pusha # more for reference sake here - pushf - - push %ebp # set up a stack frame - movl %esp, %ebp - -+ call __i686.get_pc_thunk.bx -+ addl $_GLOBAL_OFFSET_TABLE_, %ebx -+ movl caller_return@GOTOFF(%ebx), %eax -+ movl %eax, 40(%ebp) # restore the original return address -+ - leal 4(%ebp), %eax # push flags addr - push %eax - leal 8(%ebp), %eax # push registers addr -@@ -73,11 +89,13 @@ wrapper: - push %eax - push %edx - -- call *report_ret # report the return information (same args) -+ call report_func_ret@PLT# report the return information (same args) - .Ldone: - - leave - popf - popa - ret -- -+ -+.section .note.GNU-stack,"",@progbits -+ -Index: vlc-0.9.0-svn/libs/loader/wrapper.h -=================================================================== ---- vlc-0.9.0-svn.orig/libs/loader/wrapper.h -+++ vlc-0.9.0-svn/libs/loader/wrapper.h -@@ -7,10 +7,6 @@ typedef struct { - uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax; - } reg386_t; - --typedef int (*wrapper_func_t)(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); -- --extern wrapper_func_t report_entry, report_ret; -- - extern void (*wrapper_target)(void); - - extern int wrapper(void); diff --git a/310_all_mmx_pic.patch b/310_all_mmx_pic.patch deleted file mode 100644 index 2079370..0000000 --- a/310_all_mmx_pic.patch +++ /dev/null @@ -1,154 +0,0 @@ -Index: vlc-0.9.0-svn/modules/video_chroma/i420_rgb_mmx.h -=================================================================== ---- vlc-0.9.0-svn.orig/modules/video_chroma/i420_rgb_mmx.h -+++ vlc-0.9.0-svn/modules/video_chroma/i420_rgb_mmx.h -@@ -34,18 +34,18 @@ - #define USED_U64(foo) \ - static const uint64_t foo __asm__ (#foo) __attribute__((unused)) - #endif --USED_U64(mmx_80w) = 0x0080008000800080ULL; --USED_U64(mmx_10w) = 0x1010101010101010ULL; --USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; --USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; -- --USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; --USED_U64(mmx_U_blue) = 0x4093409340934093ULL; --USED_U64(mmx_V_red) = 0x3312331233123312ULL; --USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; -+USED_U64(mmx_80w) = 0x0080008000800080ULL; /* Will be referenced as %4 in inline asm */ -+USED_U64(mmx_10w) = 0x1010101010101010ULL; /* -- as %5 */ -+USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; /* -- as %6 */ -+USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; /* -- as %7 */ -+ -+USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; /* -- as %8 */ -+USED_U64(mmx_U_blue) = 0x4093409340934093ULL; /* -- as %9 */ -+USED_U64(mmx_V_red) = 0x3312331233123312ULL; /* -- as %10 */ -+USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; /* -- as %11 */ - --USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; --USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; -+USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; /* -- as %12 */ -+USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; /* -- as %13 */ - #undef USED_U64 - - #if defined(CAN_COMPILE_MMX) -@@ -59,18 +59,16 @@ USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfc - MMX_INSTRUCTIONS \ - : \ - : "r" (p_y), "r" (p_u), \ -- "r" (p_v), "r" (p_buffer) ); \ -+ "r" (p_v), "r" (p_buffer), \ -+ "m" (mmx_80w), "m" (mmx_10w), \ -+ "m" (mmx_00ffw), "m" (mmx_Y_coeff), \ -+ "m" (mmx_U_green), "m" (mmx_U_blue), \ -+ "m" (mmx_V_red), "m" (mmx_V_green), \ -+ "m" (mmx_mask_f8), "m" (mmx_mask_fc) ); \ - } while(0) - - #define MMX_END __asm__ __volatile__ ( "emms" ) - --/* Use RIP-relative code in PIC mode on amd64 */ --#if defined(__x86_64__) && defined(__PIC__) --# define G "(%%rip)" --#else --# define G --#endif -- - #define MMX_INIT_16 " \n\ - movd (%1), %%mm0 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ - movd (%2), %%mm1 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ -@@ -103,27 +101,27 @@ movq (%0), %%mm6 # Load 8 Y - # convert the chroma part \n\ - punpcklbw %%mm4, %%mm0 # scatter 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ - punpcklbw %%mm4, %%mm1 # scatter 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ --psubsw mmx_80w"G", %%mm0 # Cb -= 128 \n\ --psubsw mmx_80w"G", %%mm1 # Cr -= 128 \n\ -+psubsw %4, %%mm0 # Cb -= 128 \n\ -+psubsw %4, %%mm1 # Cr -= 128 \n\ - psllw $3, %%mm0 # Promote precision \n\ - psllw $3, %%mm1 # Promote precision \n\ - movq %%mm0, %%mm2 # Copy 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ - movq %%mm1, %%mm3 # Copy 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ --pmulhw mmx_U_green"G", %%mm2 # Mul Cb with green coeff -> Cb green \n\ --pmulhw mmx_V_green"G", %%mm3 # Mul Cr with green coeff -> Cr green \n\ --pmulhw mmx_U_blue"G", %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ --pmulhw mmx_V_red"G", %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ -+pmulhw %8, %%mm2 # Mul Cb with green coeff -> Cb green \n\ -+pmulhw %11, %%mm3 # Mul Cr with green coeff -> Cr green \n\ -+pmulhw %9, %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ -+pmulhw %10, %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ - paddsw %%mm3, %%mm2 # Cb green + Cr green -> Cgreen \n\ - \n\ - # convert the luma part \n\ --psubusb mmx_10w"G", %%mm6 # Y -= 16 \n\ -+psubusb %5, %%mm6 # Y -= 16 \n\ - movq %%mm6, %%mm7 # Copy 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 \n\ --pand mmx_00ffw"G", %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ -+pand %6, %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ - psrlw $8, %%mm7 # get Y odd 00 Y7 00 Y5 00 Y3 00 Y1 \n\ - psllw $3, %%mm6 # Promote precision \n\ - psllw $3, %%mm7 # Promote precision \n\ --pmulhw mmx_Y_coeff"G", %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ --pmulhw mmx_Y_coeff"G", %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ -+pmulhw %7, %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ -+pmulhw %7, %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ - " - - /* -@@ -168,14 +166,14 @@ punpcklbw %%mm5, %%mm2 # - - #define MMX_YUV_GRAY " \n\ - # convert the luma part \n\ --psubusb mmx_10w"G", %%mm6 \n\ -+psubusb %5, %%mm6 \n\ - movq %%mm6, %%mm7 \n\ --pand mmx_00ffw"G", %%mm6 \n\ -+pand %6, %%mm6 \n\ - psrlw $8, %%mm7 \n\ - psllw $3, %%mm6 \n\ - psllw $3, %%mm7 \n\ --pmulhw mmx_Y_coeff"G", %%mm6 \n\ --pmulhw mmx_Y_coeff"G", %%mm7 \n\ -+pmulhw %7, %%mm6 \n\ -+pmulhw %7, %%mm7 \n\ - packuswb %%mm6, %%mm6 \n\ - packuswb %%mm7, %%mm7 \n\ - punpcklbw %%mm7, %%mm6 \n\ -@@ -183,8 +181,8 @@ punpcklbw %%mm7, %%mm6 - - #define MMX_UNPACK_16_GRAY " \n\ - movq %%mm6, %%mm5 \n\ --pand mmx_mask_f8"G", %%mm6 \n\ --pand mmx_mask_fc"G", %%mm5 \n\ -+pand %12, %%mm6 \n\ -+pand %13, %%mm5 \n\ - movq %%mm6, %%mm7 \n\ - psrlw $3, %%mm7 \n\ - pxor %%mm3, %%mm3 \n\ -@@ -213,10 +211,10 @@ movq %%mm2, 8(%3) - - #define MMX_UNPACK_15 " \n\ - # mask unneeded bits off \n\ --pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ -+pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ - psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ --pand mmx_mask_f8"G", %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ --pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ -+pand %12, %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ -+pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ - psrlw $1,%%mm1 # __r7r6r5 r4r3____ __r7r6r5 r4r3____ \n\ - pxor %%mm4, %%mm4 # zero mm4 \n\ - movq %%mm0, %%mm5 # Copy B7-B0 \n\ -@@ -249,9 +247,9 @@ movq %%mm5, 8(%3) # store - - #define MMX_UNPACK_16 " \n\ - # mask unneeded bits off \n\ --pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ --pand mmx_mask_fc"G", %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ --pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ -+pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ -+pand %13, %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ -+pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ - psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ - pxor %%mm4, %%mm4 # zero mm4 \n\ - movq %%mm0, %%mm5 # Copy B7-B0 \n\ diff --git a/position.h b/position.h new file mode 100644 index 0000000..5f3b376 --- /dev/null +++ b/position.h @@ -0,0 +1,55 @@ +/***************************************************************************** + * position.h: Support routines for logo and marquee plugin objects + ***************************************************************************** + * Copyright (C) 2010 M2X BV + * + * Authors: JP Dinger + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ +#ifndef POSITION_H +#define POSITION_H + +struct posidx_s { const char *n; size_t i; }; +static const posidx_s posidx[] = { + { "center", 0 }, + { "left", 1 }, + { "right", 2 }, + { "top", 4 }, + { "bottom", 8 }, + { "top-left", 5 }, + { "top-right", 6 }, + { "bottom-left", 9 }, + { "bottom-right", 10 }, +}; +enum { num_posidx = sizeof(posidx)/sizeof(*posidx) }; + +static inline const char *position_bynumber( size_t i ) +{ + for( const posidx_s *h=posidx; hi == i ) + return h->n; + return "undefined"; +} + +static inline bool position_byname( const char *n, size_t &i ) +{ + for( const posidx_s *h=posidx; hn ) ) + { i=h->i; return true; } + return false; +} +#endif + diff --git a/sources b/sources index 263009c..8ef4a18 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d3d99e489ba1ae996af7e1065c0ef313 vlc-1.0.5.tar.bz2 +2cbda5fa9b52d10d917f23a4a00dbbf5 vlc-1.1.0-pre1.tar.bz2 diff --git a/vlc-trunk-default_font.patch b/vlc-trunk-default_font.patch deleted file mode 100644 index df7e8c5..0000000 --- a/vlc-trunk-default_font.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up vlc-0.9.0-svn/modules/misc/freetype.c.default_font vlc-0.9.0-svn/modules/misc/freetype.c ---- vlc-0.9.0-svn/modules/misc/freetype.c.default_font 2007-11-21 22:58:06.000000000 +0100 -+++ vlc-0.9.0-svn/modules/misc/freetype.c 2007-11-21 23:00:54.000000000 +0100 -@@ -61,7 +61,7 @@ - #define DEFAULT_FONT "" /* Default font found at run-time */ - #define FC_DEFAULT_FONT "Arial" - #else --#define DEFAULT_FONT "/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf" -+#define DEFAULT_FONT "/usr/share/fonts/dejavu/DejaVuSerif-Bold.ttf" - #define FC_DEFAULT_FONT "Serif Bold" - #endif - diff --git a/vlc.spec b/vlc.spec index 3e6a708..46a25e9 100644 --- a/vlc.spec +++ b/vlc.spec @@ -1,14 +1,25 @@ -# TODO: libdc1394(juju), modularization (vlc-plugin-foo) - #global live555_date 2009.07.28 -#global vlc_rc -rc -%global vlc_bootstrap 1 - +%global vlc_rc -pre1 +#global vlc_bootstrap 1 +%global _with_freeworld 1 +%if 0%{?_with_freeworld:1} +%global _with_faad2 --with-faad2 +%global _with_ffmpeg --with-ffmpeg +%global _with_libdca --with-libdca +%global _with_libdvbpsi --with-libdvbpsi +%global _with_libmad --with-libmad +%global _with_libmpeg2 --with-libmpeg2 +%global _with_twolame --with-twolame +%global _with_vcdimager --with-vcdimager +%global _with_x264 --with-x264 +%global _with_xvidcore --with-xvidcore +%global _with_live555 --with-live55 +%endif -Summary: Multi-platform MPEG, DVD, and DivX player +Summary: The cross-platform open-source multimedia framework, player and server Name: vlc -Version: 1.0.5 -Release: 2%{?dist} +Version: 1.1.0 +Release: 0.1.pre1%{?dist} License: GPLv2+ Group: Applications/Multimedia URL: http://www.videolan.org @@ -17,11 +28,8 @@ Source0: http://download.videolan.org/pub/videolan/vlc/%{version}/vlc-%{version} Source2: http://www.live555.com/liveMedia/public/live.%{live555_date}.tar.gz %endif Source10: vlc-handlers.schemas -Patch0: vlc-trunk-default_font.patch -Patch1: 0001-Default-libv4l2-to-true.patch -Patch3: 300_all_pic.patch -Patch4: 310_all_mmx_pic.patch -Patch5: vlc-1.0.4-xulrunner-192.patch +Source11: xcb_keysym.h +Source12: position.h BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils @@ -33,16 +41,16 @@ BuildRequires: gettext-devel BuildRequires: libtool %endif -BuildRequires: a52dec-devel +%{?_with_a52dec:BuildRequires: a52dec-devel} BuildRequires: aalib-devel BuildRequires: alsa-lib-devel BuildRequires: avahi-devel BuildRequires: cdparanoia-devel BuildRequires: dbus-devel BuildRequires: dirac-devel >= 1.0.0 -%{!?_without_directfb:BuildRequires: directfb-devel} -BuildRequires: faad2-devel -BuildRequires: ffmpeg-devel >= 0.4.9-0 +%{!?_without_directfb:BuildRequires: directfb-devel} +%{?_with_faad2:BuildRequires: faad2-devel} +%{?_with_ffmpeg:BuildRequires: ffmpeg-devel >= 0.4.9-0} BuildRequires: flac-devel BuildRequires: fluidsynth-devel BuildRequires: fribidi-devel @@ -51,27 +59,31 @@ BuildRequires: gnutls-devel >= 1.0.17 BuildRequires: gsm-devel BuildRequires: hal-devel BuildRequires: jack-audio-connection-kit-devel +BuildRequires: kdelibs-devel >= 4.4.0 BuildRequires: libavc1394-devel BuildRequires: libass-devel >= 0.9.7 BuildRequires: libcaca-devel BuildRequires: libcddb-devel BuildRequires: libcdio-devel >= 0.77-3 -BuildRequires: libdca-devel +BuildRequires: libdc1394-devel >= 2.1.0 +%{?_with_libdca:BuildRequires: libdca-devel} BuildRequires: libdv-devel -BuildRequires: libdvbpsi-devel +%{?_with_libdvbpsi:BuildRequires: libdvbpsi-devel} BuildRequires: libdvdnav-devel BuildRequires: libebml-devel BuildRequires: libid3tag-devel BuildRequires: libkate-devel -BuildRequires: libmad-devel +%{?_with_libmad:BuildRequires: libmad-devel} BuildRequires: libmatroska-devel >= 0.7.6 BuildRequires: libmodplug-devel BuildRequires: libmp4v2-devel BuildRequires: libmpcdec-devel BuildRequires: libmtp-devel BuildRequires: libnotify-devel +BuildRequires: libprojectM-qt-devel BuildRequires: libproxy-devel BuildRequires: librsvg2-devel >= 2.9.0 +BuildRequires: libssh2-devel BuildRequires: libsysfs-devel BuildRequires: libshout-devel BuildRequires: libsmbclient-devel @@ -79,18 +91,14 @@ BuildRequires: libtar-devel BuildRequires: libtheora-devel BuildRequires: libtiger-devel BuildRequires: libtiff-devel +BuildRequires: libudev-devel >= 142 BuildRequires: libupnp-devel -%if 0%{?fedora} > 8 BuildRequires: libv4l-devel -%endif +%{?_with_vaapi:BuildRequires: libva-devel} BuildRequires: libvorbis-devel BuildRequires: libxml2-devel BuildRequires: lirc-devel -%if 0%{?live555_date:1} -BuildConflicts: live555-devel -%else -BuildRequires: live555-devel >= 0-0.19.2008.04.03 -%endif +%{?_with_live555:BuildRequires: live555-devel >= 0-0.19.2008.04.03} BuildRequires: kernel-headers BuildRequires: libGL-devel BuildRequires: libGLU-devel @@ -98,7 +106,7 @@ BuildRequires: libmusicbrainz-devel BuildRequires: libshout-devel BuildRequires: lua-devel BuildRequires: minizip-devel -BuildRequires: mpeg2dec-devel >= 0.3.2 +%{?_with_libmpeg2:BuildRequires: mpeg2dec-devel >= 0.3.2} BuildRequires: ncurses-devel BuildRequires: opencv-devel BuildRequires: openslp-devel @@ -113,11 +121,11 @@ BuildRequires: speex-devel >= 1.1.5 BuildRequires: svgalib-devel %endif BuildRequires: taglib-devel -BuildRequires: twolame-devel -BuildRequires: vcdimager-devel >= 0.7.21 -BuildRequires: x264-devel >= 0-0.8.20061028 +%{?_with_twolame:BuildRequires: twolame-devel} +%{?_with_vcdimager:BuildRequires: vcdimager-devel >= 0.7.21} +%{?_with_x264:BuildRequires: x264-devel >= 0-0.8.20061028} BuildRequires: xosd-devel -BuildRequires: xvidcore-devel +%{?_with_xvidcore:BuildRequires: xvidcore-devel} BuildRequires: zlib-devel BuildRequires: zvbi-devel @@ -128,9 +136,6 @@ BuildRequires: libXxf86vm-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXpm-devel -%ifarch %{ix86} x86_64 -BuildRequires: libXvMC-devel -%endif BuildRequires: xcb-util-devel BuildRequires: xorg-x11-proto-devel @@ -151,62 +156,53 @@ Requires: dejavu-fonts Requires: qt-x11%{_isa} >= 1:4.5.2 -%package devel -Summary: Development package for %{name} -Group: Development/Libraries -Requires: %{name}-core%{_isa} = %{version}-%{release} %description -VLC (initially VideoLAN Client) is a highly portable multimedia player -for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, -mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. -It can also be used as a server to stream in unicast or multicast in -IPv4 or IPv6 on a high-bandwidth network. +VLC media player is a highly portable multimedia player and multimedia framework +capable of reading most audio and video formats as well as DVDs, Audio CDs VCDs, +and various streaming protocols. +It can also be used as a media converter or a server to stream in unicast or +multicast in IPv4 or IPv6 on networks. +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name}-core%{_isa} = %{version}-%{release} %description devel -This package contains development files for VLC Media Player. +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. -VLC (initially VideoLAN Client) is a highly portable multimedia player -for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, -mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. -It can also be used as a server to stream in unicast or multicast in -IPv4 or IPv6 on a high-bandwidth network. %{!?_without_mozilla: %package -n mozilla-vlc -Summary: VLC Media Player plugin for Mozilla compatible web browsers +Summary: VLC media player plugin for Mozilla compatible web browsers Group: Applications/Multimedia Requires: %{name}-xorg%{_isa} = %{version}-%{release} Requires: %{_libdir}/mozilla/plugins %description -n mozilla-vlc -This package contains a VLC Media Player plugin for Mozilla compatible +This package contains a VLC media player plugin for Mozilla compatible web browsers. -VLC (initially VideoLAN Client) is a highly portable multimedia player -for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, -mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. -It can also be used as a server to stream in unicast or multicast in -IPv4 or IPv6 on a high-bandwidth network. } %package core -Summary: VLC Media Player core +Summary: VLC media player core Group: Applications/Multimedia %description core -VLC Media Player core components +VLC media player core components %package nox -Summary: VLC Media Player without Xorg +Summary: VLC media player without Xorg Group: Applications/Multimedia Requires: vlc-core%{_isa} = %{version}-%{release} %description nox -VLC Media Player with framebuffer support for X-less server. +VLC media player with framebuffer support for X-less server. %package plugin-jack Summary: JACK audio plugin for VLC @@ -222,14 +218,14 @@ JACK audio plugin for the VLC media player. %if 0%{?live555_date:1} %setup -q -D -T -a 2 -n %{name}-%{version}%{?vlc_rc} %endif -%patch0 -p1 -b .default_font -%patch1 -p1 -b .istrue +#patch1 -p1 -b .istrue #http://trac.videolan.org/vlc/ticket/1383 -%patch3 -p1 -b .dmo_pic -sed -i.dmo_pic -e 's/fno-PIC/fPIC/' libs/loader/Makefile.in -%patch4 -p1 -b .mmx_pic -%patch5 -p1 -b .xul192 +#patch3 -p1 -b .dmo_pic +#sed -i.dmo_pic -e 's/fno-PIC/fPIC/' libs/loader/Makefile.{in,am} +#patch4 -p1 -b .mmx_pic +install -pm 0644 %{SOURCE11} modules/video_output/xcb/xcb_keysym.h +install -pm 0644 %{SOURCE12} projects/mozilla/control/position.h rm modules/access/videodev2.h ln -sf %{_includedir}/linux/videodev2.h modules/access/videodev2.h %if 0%{?vlc_bootstrap:1} @@ -254,10 +250,9 @@ popd %configure \ --disable-dependency-tracking \ --disable-rpath \ - --enable-release \ - --with-binary-version=%{version}-%{release} \ + --with-binary-version=%{version} \ --with-tuning=no \ - --enable-switcher \ +%{?_with_ffmpeg:--enable-switcher} \ --enable-lua \ --enable-live555 \ %if 0%{?live555_date:1} @@ -265,19 +260,22 @@ popd %endif --enable-dv \ --enable-opencv \ + --enable-sftp \ --enable-pvr \ --enable-gnomevfs \ - --enable-cddax \ - --enable-wma-fixed \ - --enable-shine \ - --enable-faad \ - --enable-twolame \ - --enable-real \ - --enable-realrtsp \ +%{?_with_vcdimager--enable-vcdx} \ +%{?_with_freeworld:--enable-wma-fixed} \ +%{?_with_freeworld:--enable-shine} \ + --enable-omxil \ + --disable-a52 \ +%{!?_with_ffmpeg:--disable-avcodec --disable-avformat --disable-swscale --disable-postproc} \ +%{?_with_faad2:--enable-faad} \ +%{!?_with_libmad:--disable-mad} \ +%{?_with_twolame:--enable-twolame} \ +%{?_with_freeworld:--enable-real --enable-realrtsp} \ --enable-flac \ --enable-tremor \ --enable-speex \ - --enable-tarkin \ --enable-theora \ --enable-dirac \ --enable-libass \ @@ -287,20 +285,16 @@ popd --enable-snapshot \ %ifarch %{ix86} x86_64 --enable-svgalib \ - --enable-xvmc \ %endif %{!?_without_directfb:--enable-directfb} \ --enable-aa \ --enable-caca \ --enable-jack \ -%if 0%{?fedora} > 7 --enable-portaudio \ --enable-pulse \ -%endif --enable-ncurses \ --enable-xosd \ --enable-fbosd \ - --enable-galaktos \ --enable-lirc \ %ifarch %{ix86} --enable-loader \ @@ -310,10 +304,11 @@ popd %{!?_without_mozilla:--enable-mozilla} \ - +%if 0 # remove rpath from libtool sed -i.rpath 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i.rpath 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +%endif %if 0 # clean unused-direct-shlib-dependencies @@ -335,13 +330,15 @@ find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' install -dm 755 $RPM_BUILD_ROOT%{_mandir}/man1 install -pm 644 doc/vlc*.1 $RPM_BUILD_ROOT%{_mandir}/man1 +%if 0 for i in 16x16 32x32 48x48 128x128 ; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}/apps install -pm 0644 share/vlc${i}.png \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}/apps/vlc.png done +%endif -desktop-file-install --vendor livna \ +desktop-file-install --vendor "" \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --delete-original \ --mode 644 \ @@ -364,6 +361,8 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/vlc #mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas install -pm 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/vlc/utils/ +rm -rf $RPM_BUILD_ROOT%{_datadir}/kde4 + %find_lang %{name} @@ -416,37 +415,32 @@ fi || : %files %defattr(-,root,root,-) -%doc AUTHORS COPYING ChangeLog MAINTAINERS NEWS README THANKS +%doc AUTHORS COPYING ChangeLog NEWS README THANKS %{_datadir}/applications/*%{name}.desktop -%{_datadir}/icons/hicolor/*/apps/vlc.png +#exclude #{_datadir}/kde4/apps/solid/actions/vlc-*.desktop +%{_datadir}/icons/hicolor/*/apps/vlc*.png +%{_datadir}/icons/hicolor/*/apps/vlc*.xpm %{_datadir}/vlc/skins2/ %{_bindir}/qvlc %{_bindir}/svlc -%{_libdir}/vlc/gui/libqt4_plugin.so -%{_libdir}/vlc/access/libaccess_gnomevfs_plugin.so -%{_libdir}/vlc/access/libx11_screen_plugin.so -%{_libdir}/vlc/misc/libsvg_plugin.so -%{_libdir}/vlc/misc/libnotify_plugin.so -%{_libdir}/vlc/video_output/libaa_plugin.so -%{_libdir}/vlc/video_output/libcaca_plugin.so -%{_libdir}/vlc/video_output/libglx_plugin.so -%{_libdir}/vlc/video_output/libopengl_plugin.so -%{_libdir}/vlc/video_output/libx11_plugin.so -%{_libdir}/vlc/video_output/libxcb_plugin.so -%{_libdir}/vlc/video_output/libxcb_window_plugin.so -%{_libdir}/vlc/video_output/libxcb_xv_plugin.so -%{_libdir}/vlc/video_output/libxvideo_plugin.so -%{_libdir}/vlc/visualization/libgalaktos_plugin.so -%{_libdir}/vlc/misc/libxosd_plugin.so -%ifarch %{ix86} x86_64 -%{_libdir}/vlc/codec/libxvmc_plugin.so -%{_libdir}/vlc/video_output/libxvmc_plugin.so +%{_libdir}/vlc/plugins/gui/libqt4_plugin.so +%{_libdir}/vlc/plugins/access/libaccess_gnomevfs_plugin.so +%{_libdir}/vlc/plugins/misc/libsvg_plugin.so +%{_libdir}/vlc/plugins/misc/libnotify_plugin.so +%{_libdir}/vlc/plugins/video_output/libaa_plugin.so +%{_libdir}/vlc/plugins/video_output/libcaca_plugin.so +%{_libdir}/vlc/plugins/video_output/libxcb_glx_plugin.so +%{_libdir}/vlc/plugins/video_output/libxcb_x11_plugin.so +%{_libdir}/vlc/plugins/video_output/libxcb_window_plugin.so +%{_libdir}/vlc/plugins/video_output/libxcb_xv_plugin.so +%{_libdir}/vlc/plugins/misc/libxosd_plugin.so +%{_libdir}/vlc/plugins/gui/libskins2_plugin.so +%{_libdir}/vlc/plugins/video_filter/libopencv_example_plugin.so +%{_libdir}/vlc/plugins/video_filter/libopencv_wrapper_plugin.so +%if 0%{fedora} > 11 +%{_libdir}/vlc/plugins/video_filter/libpanoramix_plugin.so %endif -%{_libdir}/vlc/gui/libskins2_plugin.so -%{_libdir}/vlc/video_filter/libopencv_example_plugin.so -%{_libdir}/vlc/video_filter/libopencv_wrapper_plugin.so -%{_libdir}/vlc/video_filter/libpanoramix_plugin.so -%{_libdir}/vlc/audio_output/libpulse_plugin.so +%{_libdir}/vlc/plugins/audio_output/libpulse_plugin.so %files core -f %{name}.lang %defattr(-,root,root,-) @@ -458,56 +452,52 @@ fi || : %exclude %{_datadir}/vlc/skins2 %{_datadir}/vlc/ %{_libdir}/*.so.* -%exclude %{_libdir}/vlc/gui/libqt4_plugin.so -%exclude %{_libdir}/vlc/access/libaccess_gnomevfs_plugin.so -%exclude %{_libdir}/vlc/access/libaccess_jack_plugin.so -%exclude %{_libdir}/vlc/access/libx11_screen_plugin.so -%exclude %{_libdir}/vlc/codec/libfluidsynth_plugin.so -%exclude %{_libdir}/vlc/misc/libsvg_plugin.so -%exclude %{_libdir}/vlc/misc/libnotify_plugin.so -%exclude %{_libdir}/vlc/video_output/libaa_plugin.so -%exclude %{_libdir}/vlc/video_output/libcaca_plugin.so -%exclude %{_libdir}/vlc/video_output/libglx_plugin.so -%exclude %{_libdir}/vlc/video_output/libopengl_plugin.so -%exclude %{_libdir}/vlc/video_output/libx11_plugin.so -%exclude %{_libdir}/vlc/video_output/libxcb_plugin.so -%exclude %{_libdir}/vlc/video_output/libxcb_window_plugin.so -%exclude %{_libdir}/vlc/video_output/libxcb_xv_plugin.so -%exclude %{_libdir}/vlc/video_output/libxvideo_plugin.so -%exclude %{_libdir}/vlc/visualization/libgalaktos_plugin.so -%exclude %{_libdir}/vlc/misc/libxosd_plugin.so +%exclude %{_libdir}/vlc/plugins/gui/libqt4_plugin.so +%exclude %{_libdir}/vlc/plugins/access/libaccess_gnomevfs_plugin.so +%exclude %{_libdir}/vlc/plugins/access/libaccess_jack_plugin.so +%exclude %{_libdir}/vlc/plugins/access/libxcb_screen_plugin.so +%exclude %{_libdir}/vlc/plugins/codec/libfluidsynth_plugin.so +%exclude %{_libdir}/vlc/plugins/misc/libsvg_plugin.so +%exclude %{_libdir}/vlc/plugins/misc/libnotify_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libaa_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libcaca_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libxcb_glx_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libxcb_x11_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libxcb_window_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libxcb_xv_plugin.so +%exclude %{_libdir}/vlc/plugins/misc/libxosd_plugin.so %ifarch %{ix86} x86_64 -%exclude %{_libdir}/vlc/codec/libxvmc_plugin.so -%exclude %{_libdir}/vlc/video_output/libxvmc_plugin.so -%exclude %{_libdir}/vlc/video_output/libsvgalib_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libsvgalib_plugin.so %endif %{!?_without_directfb: -%exclude %{_libdir}/vlc/video_output/libdirectfb_plugin.so +%exclude %{_libdir}/vlc/plugins/video_output/libdirectfb_plugin.so } -%exclude %{_libdir}/vlc/gui/libskins2_plugin.so -%exclude %{_libdir}/vlc/video_filter/libopencv_example_plugin.so -%exclude %{_libdir}/vlc/video_filter/libopencv_wrapper_plugin.so -%exclude %{_libdir}/vlc/video_filter/libpanoramix_plugin.so -%exclude %{_libdir}/vlc/audio_output/libjack_plugin.so -%exclude %{_libdir}/vlc/audio_output/libportaudio_plugin.so -%exclude %{_libdir}/vlc/audio_output/libpulse_plugin.so +%exclude %{_libdir}/vlc/plugins/gui/libskins2_plugin.so +%exclude %{_libdir}/vlc/plugins/video_filter/libopencv_example_plugin.so +%exclude %{_libdir}/vlc/plugins/video_filter/libopencv_wrapper_plugin.so +%if 0%{fedora} > 11 +%exclude %{_libdir}/vlc/plugins/video_filter/libpanoramix_plugin.so +%endif +%exclude %{_libdir}/vlc/plugins/audio_output/libjack_plugin.so +%exclude %{_libdir}/vlc/plugins/audio_output/libportaudio_plugin.so +%exclude %{_libdir}/vlc/plugins/audio_output/libpulse_plugin.so %{_libdir}/vlc/ %{_mandir}/man1/vlc*.1* %files plugin-jack %defattr(-,root,root,-) -%{_libdir}/vlc/access/libaccess_jack_plugin.so -%{_libdir}/vlc/audio_output/libportaudio_plugin.so -%{_libdir}/vlc/audio_output/libjack_plugin.so -%{_libdir}/vlc/codec/libfluidsynth_plugin.so +%{_libdir}/vlc/plugins/access/libaccess_jack_plugin.so +%{_libdir}/vlc/plugins/audio_output/libportaudio_plugin.so +%{_libdir}/vlc/plugins/audio_output/libjack_plugin.so +%{_libdir}/vlc/plugins/codec/libfluidsynth_plugin.so %files nox %defattr(-,root,root,-) %{!?_without_directfb: -%{_libdir}/vlc/video_output/libdirectfb_plugin.so +%{_libdir}/vlc/plugins/video_output/libdirectfb_plugin.so } %ifarch %{ix86} x86_64 -%{_libdir}/vlc/video_output/libsvgalib_plugin.so +%{_libdir}/vlc/plugins/video_output/libsvgalib_plugin.so %endif %files devel @@ -529,6 +519,10 @@ fi || : %changelog +* Fri Apr 16 2010 Nicolas Chauvet - 1.1.0-0.3.pre1 +- Update to 1.1.0-pre1 +- Changed summary and descriptions + * Sat Feb 27 2010 Nicolas Chauvet - 1.0.5-2 - Add BR libtiger-devel diff --git a/xcb_keysym.h b/xcb_keysym.h new file mode 100644 index 0000000..3db3139 --- /dev/null +++ b/xcb_keysym.h @@ -0,0 +1,90 @@ + /* This list MUST be in XK_* incremental order (see keysymdef.h), + * so that binary search works. + * Multiple X keys can match the same VLC key. + * X key symbols must be in the first column of the struct. */ + { XK_BackSpace, KEY_BACKSPACE, }, + { XK_Tab, KEY_TAB, }, + { XK_Return, KEY_ENTER, }, + { XK_Escape, KEY_ESC, }, + { XK_Home, KEY_HOME, }, + { XK_Left, KEY_LEFT, }, + { XK_Up, KEY_UP, }, + { XK_Right, KEY_RIGHT, }, + { XK_Down, KEY_DOWN, }, + { XK_Page_Up, KEY_PAGEUP, }, + { XK_Page_Down, KEY_PAGEDOWN, }, + { XK_End, KEY_END, }, + { XK_Begin, KEY_HOME, }, + { XK_Insert, KEY_INSERT, }, + { XK_Menu, KEY_MENU }, + + /* Numeric pad keys */ + { XK_KP_Space, ' ', }, + { XK_KP_Tab, KEY_TAB, }, + { XK_KP_Enter, KEY_ENTER, }, + { XK_KP_F1, KEY_F1, }, + { XK_KP_F2, KEY_F2, }, + { XK_KP_F3, KEY_F3, }, + { XK_KP_F4, KEY_F4, }, + { XK_KP_Home, KEY_HOME, }, + { XK_KP_Left, KEY_LEFT, }, + { XK_KP_Up, KEY_UP, }, + { XK_KP_Right, KEY_RIGHT, }, + { XK_KP_Down, KEY_DOWN, }, + { XK_KP_Page_Up, KEY_PAGEUP, }, + { XK_KP_Page_Down, KEY_PAGEDOWN, }, + { XK_KP_End, KEY_END, }, + { XK_KP_Begin, KEY_HOME, }, /* KP middle (5 without numlock) */ + { XK_KP_Insert, KEY_INSERT, }, + { XK_KP_Delete, KEY_DELETE, }, + { XK_KP_Equal, '=', }, + { XK_KP_Multiply, '*', }, + { XK_KP_Add, '+', }, + { XK_KP_Separator, ',', }, + { XK_KP_Subtract, '-', }, + { XK_KP_Decimal, ',', }, /* FIXME: I don't know that key */ + { XK_KP_Divide, '/', }, + { XK_KP_0, '0', }, + { XK_KP_1, '1', }, + { XK_KP_2, '2', }, + { XK_KP_3, '3', }, + { XK_KP_4, '4', }, + { XK_KP_5, '5', }, + { XK_KP_6, '6', }, + { XK_KP_7, '7', }, + { XK_KP_8, '8', }, + { XK_KP_9, '9', }, + + { XK_F1, KEY_F1, }, + { XK_F2, KEY_F2, }, + { XK_F3, KEY_F3, }, + { XK_F4, KEY_F4, }, + { XK_F5, KEY_F5, }, + { XK_F6, KEY_F6, }, + { XK_F7, KEY_F7, }, + { XK_F8, KEY_F8, }, + { XK_F9, KEY_F9, }, + { XK_F10, KEY_F10, }, + { XK_F11, KEY_F11, }, + { XK_F12, KEY_F12, }, + { XK_Delete, KEY_DELETE, }, + + /* XFree86 extensions */ + { XF86XK_AudioLowerVolume, KEY_VOLUME_DOWN, }, + { XF86XK_AudioMute, KEY_VOLUME_MUTE, }, + { XF86XK_AudioRaiseVolume, KEY_VOLUME_UP, }, + { XF86XK_AudioPlay, KEY_MEDIA_PLAY_PAUSE, }, + { XF86XK_AudioStop, KEY_MEDIA_STOP, }, + { XF86XK_AudioPrev, KEY_MEDIA_PREV_TRACK, }, + { XF86XK_AudioNext, KEY_MEDIA_NEXT_TRACK, }, + { XF86XK_HomePage, KEY_BROWSER_HOME, }, + { XF86XK_Search, KEY_BROWSER_SEARCH, }, + { XF86XK_Back, KEY_BROWSER_BACK, }, + { XF86XK_Forward, KEY_BROWSER_FORWARD, }, + { XF86XK_Stop, KEY_BROWSER_STOP, }, + { XF86XK_Refresh, KEY_BROWSER_REFRESH, }, + { XF86XK_Favorites, KEY_BROWSER_FAVORITES, }, + { XF86XK_AudioPause, KEY_MEDIA_PLAY_PAUSE, }, + { XF86XK_Reload, KEY_BROWSER_REFRESH, }, + +