if( p_libvlc == NULL )
return NULL;
+ priv = libvlc_priv (p_libvlc);
p_libvlc->p_playlist = NULL;
p_libvlc->p_interaction = NULL;
priv->p_vlm = NULL;
p_libvlc->psz_object_name = strdup( "libvlc" );
- priv = libvlc_priv (p_libvlc);
/* Initialize message queue */
msg_Create( p_libvlc );
/* to be sure to avoid multiple creation */
var_Create( p_this->p_libvlc, "httpd_mutex", VLC_VAR_MUTEX );
- var_Create( p_this->p_libvlc, "httpd_object", VLC_VAR_ADDRESS );
var_Get( p_this->p_libvlc, "httpd_mutex", &lockval );
vlc_mutex_lock( lockval.p_address );
- var_Get( p_this->p_libvlc, "httpd_object", &ptrval );
+ httpd = libvlc_priv (p_this->p_libvlc)->p_httpd;
- if( ptrval.p_address != NULL )
- httpd = ptrval.p_address;
- else
+ if( httpd == NULL )
{
msg_Info( p_this, "creating httpd" );
httpd = (httpd_t *)vlc_custom_create( p_this, sizeof (*httpd),
httpd->host = NULL;
ptrval.p_address = httpd;
- var_Set( p_this->p_libvlc, "httpd_object", ptrval );
+ libvlc_priv (p_this->p_libvlc)->p_httpd = httpd;
vlc_object_yield( httpd );
vlc_object_attach( httpd, p_this->p_libvlc );
}
msg_Dbg( httpd, "no host left, stopping httpd" );
- ptrval.p_address = NULL;
- var_Set( httpd->p_libvlc, "httpd_object", ptrval );
+ libvlc_priv (httpd->p_libvlc)->p_httpd = NULL;
vlc_object_detach( httpd );
vlc_object_release( httpd );