X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=plugins%2Fsdl%2Fsdl.c;h=6cc8534a2b09da38c240e1866ca8b1e5381b8602;hb=440f9992ee947ea5fd0debbf35fdd1011c6404b3;hp=85963feb207a334ce042aca48e114b90e3787edd;hpb=d2082e9df73f402bafc55d9f0ebfe7c80225311d;p=vlc diff --git a/plugins/sdl/sdl.c b/plugins/sdl/sdl.c index 85963feb20..6cc8534a2b 100644 --- a/plugins/sdl/sdl.c +++ b/plugins/sdl/sdl.c @@ -1,11 +1,12 @@ /***************************************************************************** * sdl.c : SDL plugin for vlc ***************************************************************************** - * Copyright (C) 2000 VideoLAN + * Copyright (C) 2000, 2001 VideoLAN + * $Id: sdl.c,v 1.16 2001/05/30 17:03:12 sam Exp $ * - * Authors: - * . Initial plugin code by Samuel Hocevar - * . Modified to use the SDL by Pierre Baillet + * Authors: Samuel Hocevar + * Pierre Baillet + * Arnaud de Bossoreille de Ribou * * 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 @@ -22,6 +23,9 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *****************************************************************************/ +#define MODULE_NAME sdl +#include "modules_inner.h" + /***************************************************************************** * Preamble *****************************************************************************/ @@ -33,117 +37,41 @@ #include "common.h" /* boolean_t, byte_t */ #include "threads.h" #include "mtime.h" -#include "tests.h" -#include "plugins.h" -#include "interface.h" #include "audio_output.h" + #include "video.h" #include "video_output.h" -/***************************************************************************** - * Exported prototypes - *****************************************************************************/ -static void vout_GetPlugin( p_vout_thread_t p_vout ); -static void intf_GetPlugin( p_intf_thread_t p_intf ); - -#if 0 -static void yuv_GetPlugin( p_vout_thread_t p_vout ); -#endif - -/* Video output */ -int vout_SDLCreate ( vout_thread_t *p_vout, char *psz_display, - int i_root_window, void *p_data ); -int vout_SDLInit ( p_vout_thread_t p_vout ); -void vout_SDLEnd ( p_vout_thread_t p_vout ); -void vout_SDLDestroy ( p_vout_thread_t p_vout ); -int vout_SDLManage ( p_vout_thread_t p_vout ); -void vout_SDLDisplay ( p_vout_thread_t p_vout ); -void vout_SDLSetPalette ( p_vout_thread_t p_vout, - u16 *red, u16 *green, u16 *blue, u16 *transp ); - -#if 0 -/* YUV transformations */ -int yuv_CInit ( p_vout_thread_t p_vout ); -int yuv_CReset ( p_vout_thread_t p_vout ); -void yuv_CEnd ( p_vout_thread_t p_vout ); -#endif - -/* Interface */ -int intf_SDLCreate ( p_intf_thread_t p_intf ); -void intf_SDLDestroy ( p_intf_thread_t p_intf ); -void intf_SDLManage ( p_intf_thread_t p_intf ); +#include "modules.h" +#include "modules_export.h" /***************************************************************************** - * GetConfig: get the plugin structure and configuration + * Capabilities defined in the other files. *****************************************************************************/ -plugin_info_t * GetConfig( void ) -{ - plugin_info_t * p_info = (plugin_info_t *) malloc( sizeof(plugin_info_t) ); - - p_info->psz_name = "SDL (video)"; - p_info->psz_version = VERSION; - p_info->psz_author = "the VideoLAN team "; - - p_info->aout_GetPlugin = NULL; - p_info->vout_GetPlugin = vout_GetPlugin; - p_info->intf_GetPlugin = intf_GetPlugin; - - - /* TODO: before doing this, we have to know if the videoCard is capable of - * hardware YUV -> display acceleration.... - */ - -#if 0 - p_info->yuv_GetPlugin = (void *) yuv_GetPlugin; -#else - p_info->yuv_GetPlugin = NULL; -#endif - - - /* if the SDL libraries are there, assume we can enter the - * initialization part at least, even if we fail afterwards */ - - p_info->i_score = 0x100; - - - - /* If this plugin was requested, score it higher */ - if( TestMethod( VOUT_METHOD_VAR, "sdl" ) ) - { - p_info->i_score += 0x200; - } - - return( p_info ); -} +void _M( aout_getfunctions )( function_list_t * p_function_list ); +void _M( vout_getfunctions )( function_list_t * p_function_list ); /***************************************************************************** - * Following functions are only called through the p_info structure + * Building configuration tree *****************************************************************************/ - -static void vout_GetPlugin( p_vout_thread_t p_vout ) -{ - p_vout->p_sys_create = vout_SDLCreate; - p_vout->p_sys_init = vout_SDLInit; - p_vout->p_sys_end = vout_SDLEnd; - p_vout->p_sys_destroy = vout_SDLDestroy; - p_vout->p_sys_manage = vout_SDLManage; - p_vout->p_sys_display = vout_SDLDisplay; -} - -static void intf_GetPlugin( p_intf_thread_t p_intf ) -{ - p_intf->p_sys_create = intf_SDLCreate; - p_intf->p_sys_destroy = intf_SDLDestroy; - p_intf->p_sys_manage = intf_SDLManage; -} - -#if 0 -static void yuv_GetPlugin( p_vout_thread_t p_vout ) -{ - p_vout->p_yuv_init = yuv_CInit; - p_vout->p_yuv_reset = yuv_CReset; - p_vout->p_yuv_end = yuv_CEnd; -} -#endif +MODULE_CONFIG_START +ADD_WINDOW( "Configuration for SDL module" ) + ADD_COMMENT( "For now, the SDL module cannot be configured" ) +MODULE_CONFIG_STOP + +MODULE_INIT_START + p_module->i_capabilities = MODULE_CAPABILITY_NULL + | MODULE_CAPABILITY_VOUT + | MODULE_CAPABILITY_AOUT; + p_module->psz_longname = "Simple DirectMedia Layer module"; +MODULE_INIT_STOP + +MODULE_ACTIVATE_START + _M( aout_getfunctions )( &p_module->p_functions->aout ); + _M( vout_getfunctions )( &p_module->p_functions->vout ); +MODULE_ACTIVATE_STOP + +MODULE_DEACTIVATE_START +MODULE_DEACTIVATE_STOP