/* Get the services discovery modules names to use in Create(), in a null
* terminated string array. Array and string must be freed after use. */
-VLC_EXPORT( char **, vlc_sd_GetNames, ( char ***pppsz_longnames ) );
+VLC_EXPORT( char **, vlc_sd_GetNames, ( vlc_object_t *, char *** ) );
+#define vlc_sd_GetNames(obj, pln) \
+ vlc_sd_GetNames(VLC_OBJECT(obj), pln)
/* Creation of a service_discovery object */
VLC_EXPORT( services_discovery_t *, vlc_sd_Create, ( vlc_object_t * ) );
o_tc_sortColumn = nil;
char ** ppsz_name;
- char ** ppsz_services = vlc_sd_GetNames( &ppsz_name );
+ char ** ppsz_services = vlc_sd_GetNames( VLCIntf, &ppsz_name );
if( !ppsz_services )
{
pl_Release( VLCIntf );
msrc->setExpanded( true );
char **ppsz_longnames;
- char **ppsz_names = vlc_sd_GetNames( &ppsz_longnames );
+ char **ppsz_names = vlc_sd_GetNames( THEPL, &ppsz_longnames );
if( !ppsz_names )
return;
menu->setTitle( qtr( I_PL_SD ) );
char **ppsz_longnames;
- char **ppsz_names = vlc_sd_GetNames( &ppsz_longnames );
+ char **ppsz_names = vlc_sd_GetNames( p_intf, &ppsz_longnames );
if( !ppsz_names )
return menu;
*****************************************************************************/
static int vlclua_sd_get_services_names( lua_State *L )
{
+ playlist_t *p_playlist = vlclua_get_playlist_internal( L );
char **ppsz_longnames;
- char **ppsz_names = vlc_sd_GetNames( &ppsz_longnames );
+ char **ppsz_names = vlc_sd_GetNames( p_playlist, &ppsz_longnames );
+ vlclua_release_playlist_internal( p_playlist );
if( !ppsz_names )
return 0;
* That's how the playlist get's Service Discovery information
*/
+#undef vlc_sd_GetNames
+
/**
* Gets the list of available services discovery plugins.
*/
-char **vlc_sd_GetNames( char ***pppsz_longnames )
+char **vlc_sd_GetNames( vlc_object_t *obj, char ***pppsz_longnames )
{
return module_GetModulesNamesForCapability( "services_discovery",
pppsz_longnames );