Browse Source

intf: change intf_Create argument

Use a libvlc_int_t *. This will ease the playlist_t => vlc_playlist_t
transition.
pull/85/head
Thomas Guillem 7 years ago
parent
commit
42e344eb87
  1. 2
      include/vlc_interface.h
  2. 2
      modules/control/ntservice.c
  3. 2
      modules/control/oldrc.c
  4. 36
      src/interface/interface.c

2
include/vlc_interface.h

@ -87,7 +87,7 @@ struct intf_dialog_args_t
struct interaction_dialog_t *p_dialog;
};
VLC_API int intf_Create( playlist_t *, const char * );
VLC_API int intf_Create( libvlc_int_t *, const char * );
VLC_API void libvlc_Quit( libvlc_int_t * );

2
modules/control/ntservice.c

@ -340,7 +340,7 @@ static void WINAPI ServiceDispatch( DWORD numArgs, char **args )
if( asprintf( &psz_temp, "%s,none", psz_module ) != -1 )
{
/* Try to create the interface */
if( intf_Create( pl_Get(p_intf), psz_temp ) )
if( intf_Create( vlc_object_instance(p_intf), psz_temp ) )
{
msg_Err( p_intf, "interface \"%s\" initialization failed",
psz_temp );

2
modules/control/oldrc.c

@ -1430,7 +1430,7 @@ static int Intf( vlc_object_t *p_this, char const *psz_cmd,
intf_thread_t *intf = (intf_thread_t *)p_this;
VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data);
return intf_Create(pl_Get(intf), newval.psz_string );
return intf_Create(vlc_object_instance(intf), newval.psz_string );
}
static int Volume( vlc_object_t *p_this, char const *psz_cmd,

36
src/interface/interface.c

@ -83,15 +83,17 @@ static playlist_t *intf_GetPlaylist(libvlc_int_t *libvlc)
return playlist;
}
/**
* Create and start an interface.
*
* @param playlist playlist and parent object for the interface
* @param chain configuration chain string
* @return VLC_SUCCESS or an error code
*/
int intf_Create( playlist_t *playlist, const char *chain )
static int intf_CreateInternal( libvlc_int_t *libvlc, playlist_t *playlist,
const char *chain )
{
assert( !!libvlc != !!playlist );
if (!playlist)
{
playlist = intf_GetPlaylist(libvlc);
if (!playlist)
return VLC_EGENERIC;
}
/* Allocate structure */
intf_thread_t *p_intf = vlc_custom_create( playlist, sizeof( *p_intf ),
"interface" );
@ -147,6 +149,18 @@ error:
return VLC_EGENERIC;
}
/**
* Create and start an interface.
*
* @param playlist playlist and parent object for the interface
* @param chain configuration chain string
* @return VLC_SUCCESS or an error code
*/
int intf_Create( libvlc_int_t *libvlc, const char *chain )
{
return intf_CreateInternal( libvlc, NULL, chain );
}
static void
PlaylistConfigureFromVariables(vlc_playlist_t *playlist, vlc_object_t *obj)
{
@ -267,7 +281,7 @@ int libvlc_InternalAddIntf(libvlc_int_t *libvlc, const char *name)
ret = VLC_ENOMEM;
else
if (name != NULL)
ret = intf_Create(playlist, name);
ret = intf_CreateInternal(NULL, playlist, name);
else
{ /* Default interface */
char *intf = var_InheritString(libvlc, "intf");
@ -279,7 +293,7 @@ int libvlc_InternalAddIntf(libvlc_int_t *libvlc, const char *name)
msg_Info(libvlc, _("Running vlc with the default interface. "
"Use 'cvlc' to use vlc without interface."));
}
ret = intf_Create(playlist, intf);
ret = intf_CreateInternal(NULL, playlist, intf);
free(intf);
name = "default";
}
@ -331,7 +345,7 @@ static int AddIntfCallback( vlc_object_t *obj, char const *var,
{
playlist_t *playlist = data;
int ret = intf_Create( playlist, cur.psz_string );
int ret = intf_CreateInternal( NULL, playlist, cur.psz_string );
if( ret )
msg_Err( obj, "interface \"%s\" initialization failed",
cur.psz_string );

Loading…
Cancel
Save