#include <lirc/lirc_client.h>
+#define LIRC_TEXT N_("Change the lirc configuration file.")
+#define LIRC_LONGTEXT N_( \
+ "Tell lirc to read this configuration file. By default it " \
+ "searches in the users home directory." )
+
/*****************************************************************************
* intf_sys_t: description and status of FB interface
*****************************************************************************/
struct intf_sys_t
{
+ char *psz_file;
struct lirc_config *config;
};
set_description( _("Infrared remote control interface") );
set_capability( "interface", 0 );
set_callbacks( Open, Close );
+
+ add_string( "lirc-file", NULL, NULL,
+ LIRC_TEXT, LIRC_LONGTEXT, VLC_TRUE );
vlc_module_end();
/*****************************************************************************
p_intf->pf_run = Run;
+ p_intf->p_sys->psz_file = var_CreateGetString( p_intf, "lirc-file" );
+
i_fd = lirc_init( "vlc", 1 );
if( i_fd == -1 )
{
/* We want polling */
fcntl( i_fd, F_SETFL, fcntl( i_fd, F_GETFL ) | O_NONBLOCK );
- if( lirc_readconfig( NULL, &p_intf->p_sys->config, NULL ) != 0 )
+ if( lirc_readconfig( p_intf->p_sys->psz_file, &p_intf->p_sys->config, NULL ) != 0 )
{
msg_Err( p_intf, "failure while reading lirc config" );
lirc_deinit();
intf_thread_t *p_intf = (intf_thread_t *)p_this;
/* Destroy structure */
+ if( p_intf->p_sys->psz_file )
+ free( p_intf->p_sys->psz_file );
lirc_freeconfig( p_intf->p_sys->config );
lirc_deinit();
free( p_intf->p_sys );