Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
p_vlm->i_id = 1;
TAB_INIT( p_vlm->i_media, p_vlm->media );
TAB_INIT( p_vlm->i_schedule, p_vlm->schedule );
p_vlm->i_id = 1;
TAB_INIT( p_vlm->i_media, p_vlm->media );
TAB_INIT( p_vlm->i_schedule, p_vlm->schedule );
p_vlm->p_vod = NULL;
var_Create( p_vlm, "intf-event", VLC_VAR_ADDRESS );
vlc_object_attach( p_vlm, p_this->p_libvlc );
p_vlm->p_vod = NULL;
var_Create( p_vlm, "intf-event", VLC_VAR_ADDRESS );
vlc_object_attach( p_vlm, p_this->p_libvlc );
libvlc_priv(p_vlm->p_libvlc)->p_vlm = NULL;
vlc_object_kill( p_vlm );
libvlc_priv(p_vlm->p_libvlc)->p_vlm = NULL;
vlc_object_kill( p_vlm );
+ if( p_vlm->p_vod )
+ {
+ module_unneed( p_vlm->p_vod, p_vlm->p_vod->p_module );
+ vlc_object_detach( p_vlm->p_vod );
+ vlc_object_release( p_vlm->p_vod );
+ }
+
vlc_mutex_lock( &p_vlm->lock_manage );
p_vlm->input_state_changed = true;
vlc_cond_signal( &p_vlm->wait_manage );
vlc_mutex_lock( &p_vlm->lock_manage );
p_vlm->input_state_changed = true;
vlc_cond_signal( &p_vlm->wait_manage );
{
vlm_media_t *p_cfg = &p_media->cfg;
/* Check if we need to create/delete a vod media */
{
vlm_media_t *p_cfg = &p_media->cfg;
/* Check if we need to create/delete a vod media */
+ if( p_cfg->b_vod && p_vlm->p_vod )
{
if( !p_cfg->b_enabled && p_media->vod.p_media )
{
{
if( !p_cfg->b_enabled && p_media->vod.p_media )
{
+ else if ( p_cfg->b_vod )
+ msg_Err( p_vlm, "vod server is not loaded" );
else
{
/* TODO start media if needed */
else
{
/* TODO start media if needed */
return VLC_EGENERIC;
}
/* Check if we need to load the VOD server */
return VLC_EGENERIC;
}
/* Check if we need to load the VOD server */
- if( p_cfg->b_vod && !p_vlm->i_vod )
+ if( p_cfg->b_vod && !p_vlm->p_vod )
{
p_vlm->p_vod = vlc_custom_create( VLC_OBJECT(p_vlm), sizeof( vod_t ),
VLC_OBJECT_GENERIC, "vod server" );
{
p_vlm->p_vod = vlc_custom_create( VLC_OBJECT(p_vlm), sizeof( vod_t ),
VLC_OBJECT_GENERIC, "vod server" );
if( !p_media )
return VLC_ENOMEM;
if( !p_media )
return VLC_ENOMEM;
- if( p_cfg->b_vod )
- p_vlm->i_vod++;
-
vlm_media_Copy( &p_media->cfg, p_cfg );
p_media->cfg.id = p_vlm->i_id++;
/* FIXME do we do something here if enabled is true ? */
vlm_media_Copy( &p_media->cfg, p_cfg );
p_media->cfg.id = p_vlm->i_id++;
/* FIXME do we do something here if enabled is true ? */
{
p_media->cfg.b_enabled = false;
vlm_OnMediaUpdate( p_vlm, p_media );
{
p_media->cfg.b_enabled = false;
vlm_OnMediaUpdate( p_vlm, p_media );
TAB_REMOVE( p_vlm->i_media, p_vlm->media, p_media );
free( p_media );
TAB_REMOVE( p_vlm->i_media, p_vlm->media, p_media );
free( p_media );
- /* Check if we need to unload the VOD server */
- if( p_vlm->p_vod && p_vlm->i_vod <= 0 )
- {
- module_unneed( p_vlm->p_vod, p_vlm->p_vod->p_module );
- vlc_object_release( p_vlm->p_vod );
- p_vlm->p_vod = NULL;
- }
-
int64_t i_id;
/* Vod server (used by media) */
int64_t i_id;
/* Vod server (used by media) */
vod_t *p_vod;
/* Media list */
vod_t *p_vod;
/* Media list */