error:
vlc_UrlClean( &p_sys->p_thread->url );
- vlc_object_detach( p_sys->p_thread );
vlc_object_release( p_sys->p_thread );
free( p_sys );
free( p_sys->p_thread->psz_swf_url );
free( p_sys->p_thread->psz_page_url );
- vlc_object_detach( p_sys->p_thread );
vlc_object_release( p_sys->p_thread );
free( p_sys );
}
if( !p_sys->p_blend->p_module )
{
msg_Err( p_demux, "Could not load video blending module" );
- vlc_object_detach( p_sys->p_blend );
vlc_object_release( p_sys->p_blend );
p_sys->p_blend = NULL;
}
net_Close( p_sys->p_thread->fd );
error:
vlc_UrlClean( &p_sys->p_thread->url );
- vlc_object_detach( p_sys->p_thread );
vlc_object_release( p_sys->p_thread );
free( p_sys );
net_Close( p_sys->p_thread->fd );
- vlc_object_detach( p_sys->p_thread );
vlc_object_release( p_sys->p_thread );
vlc_UrlClean( &p_sys->p_thread->url );
/* kill the position notification thread, if any */
if( p_sys->p_notif )
{
- vlc_object_detach( p_sys->p_notif );
vlc_object_kill( p_sys->p_notif );
/* wake up the audio thread if needed */
if( !p_sys->b_playing ) SetEvent( p_sys->p_notif->event );
module_unneed( p_intf->p_sys->p_blend,
p_intf->p_sys->p_blend->p_module );
- vlc_object_detach( p_intf->p_sys->p_blend );
vlc_object_release( p_intf->p_sys->p_blend );
}
}
module_unneed( p_intf->p_sys->p_text,
p_intf->p_sys->p_text->p_module );
- vlc_object_detach( p_intf->p_sys->p_text );
vlc_object_release( p_intf->p_sys->p_text );
}
}
[objectLock lock];
if( p_vout )
{
- vlc_object_detach( p_vout );
vlc_object_release( p_vout );
vlc_object_release( p_vout );
}
if( m_pProvider && m_pModule )
{
// Detach the dialogs provider from its parent interface
- vlc_object_detach( m_pProvider );
-
module_unneed( m_pProvider, m_pModule );
vlc_object_release( m_pProvider );
}
gnutls_bye( p_sys->session, GNUTLS_SHUT_WR );
gnutls_deinit( p_sys->session );
- vlc_object_detach( p_session );
vlc_object_release( p_session );
free( p_sys );
error:
free( p_session->p_sys );
- vlc_object_detach( p_session );
vlc_object_release( p_session );
return NULL;
}
{
vlc_object_kill( pp_objects[i] );
vlc_thread_join( pp_objects[i] );
- vlc_object_detach( pp_objects[i] );
vlc_object_release( pp_objects[i] );
}
p_sys->p_decoder->p_owner = malloc( sizeof(decoder_owner_sys_t) );
if( !p_sys->p_decoder->p_owner )
{
- vlc_object_detach( p_sys->p_decoder );
vlc_object_release( p_sys->p_decoder );
return NULL;
}
msg_Err( p_stream, "cannot find decoder" );
}
free( p_sys->p_decoder->p_owner );
- vlc_object_detach( p_sys->p_decoder );
vlc_object_release( p_sys->p_decoder );
return NULL;
}
if( p_sys->p_decoder->p_description )
vlc_meta_Delete( p_sys->p_decoder->p_description );
- vlc_object_detach( p_sys->p_decoder );
vlc_object_release( p_sys->p_decoder );
free( p_owner );
if( p_sys->b_export_sap && !p_sys->p_mux ) SapSetup( p_stream );
if( p_sys->psz_sdp_file != NULL ) FileSetup( p_stream );
- vlc_object_detach( id );
vlc_object_release( id );
return VLC_SUCCESS;
}
{
if( id->p_decoder )
{
- vlc_object_detach( id->p_decoder );
vlc_object_release( id->p_decoder );
id->p_decoder = NULL;
}
if( id->p_encoder )
{
- vlc_object_detach( id->p_encoder );
es_format_Clean( &id->p_encoder->fmt_out );
vlc_object_release( id->p_encoder );
id->p_encoder = NULL;
if( id->p_decoder )
{
- vlc_object_detach( id->p_decoder );
vlc_object_release( id->p_decoder );
id->p_decoder = NULL;
}
if( id->p_encoder )
{
- vlc_object_detach( id->p_encoder );
es_format_Clean( &id->p_encoder->fmt_out );
vlc_object_release( id->p_encoder );
id->p_encoder = NULL;
{
vlc_mutex_destroy( &m_TerminateLock );
vlc_cond_destroy( &m_TerminateCond );
- vlc_object_detach(m_pAtmoThread);
vlc_object_release(m_pAtmoThread);
}
}
if( !p_blend->p_module )
{
picture_Release( p_pic );
- vlc_object_detach( p_blend );
vlc_object_release( p_blend );
return NULL;
}
module_unneed( p_blend, p_blend->p_module );
- vlc_object_detach( p_blend );
vlc_object_release( p_blend );
p_sys->b_done = true;
if( Create( VLC_OBJECT(p_vout) ) != VLC_SUCCESS )
{
- vlc_object_detach( p_vout );
vlc_object_release( p_vout );
return VLC_EGENERIC;
}
vout_thread_t *p_vout = (vout_thread_t *)p_filter->p_sys;
Destroy( VLC_OBJECT(p_vout) );
- vlc_object_detach( p_vout );
vlc_object_release( p_vout );
}
{
msg_Err( p_vout, "can't open internal opencv filter: %s", p_vout->p_sys->psz_inner_name );
p_vout->p_sys->psz_inner_name = NULL;
- vlc_object_detach( p_sys->p_opencv );
vlc_object_release( p_sys->p_opencv );
p_sys->p_opencv = NULL;
}
//release the internal opencv filter
if( p_sys->p_opencv->p_module )
module_unneed( p_sys->p_opencv, p_sys->p_opencv->p_module );
- vlc_object_detach( p_sys->p_opencv );
vlc_object_release( p_sys->p_opencv );
p_sys->p_opencv = NULL;
}
if( vlc_thread_create( p_sys->p_worker_thread, "vnc worker thread",
vnc_worker_thread, VLC_THREAD_PRIORITY_LOW ) )
{
- vlc_object_detach( p_sys->p_worker_thread );
vlc_object_release( p_sys->p_worker_thread );
msg_Err( p_filter, "cannot spawn vnc message reader thread" );
goto error;
msg_Dbg( p_filter, "joining worker_thread" );
vlc_object_kill( p_sys->p_worker_thread );
vlc_thread_join( p_sys->p_worker_thread );
- vlc_object_detach( p_sys->p_worker_thread );
vlc_object_release( p_sys->p_worker_thread );
msg_Dbg( p_filter, "released worker_thread" );
}
"vnc update request thread",
update_request_thread, VLC_THREAD_PRIORITY_LOW ) )
{
- vlc_object_detach( p_update_request_thread );
vlc_object_release( p_update_request_thread );
msg_Err( p_filter, "cannot spawn vnc update request thread" );
goto exit;
msg_Dbg( p_filter, "joining update_request_thread" );
vlc_object_kill( p_update_request_thread );
vlc_thread_join( p_update_request_thread );
- vlc_object_detach( p_update_request_thread );
vlc_object_release( p_update_request_thread );
msg_Dbg( p_filter, "released update_request_thread" );
if( p_sys->p_vout->p_module == NULL )
{
msg_Warn( p_vout, "No OpenGL provider found" );
- vlc_object_detach( p_sys->p_vout );
/* no need for var_DelCallback here :-) */
vlc_object_release( p_sys->p_vout );
free( p_sys );
if( p_thread->p_vout == NULL )
{
msg_Err( p_filter, "no suitable vout module" );
- vlc_object_detach( p_thread );
vlc_object_release( p_thread );
free( p_sys );
return VLC_EGENERIC;
vlc_mutex_destroy( &p_thread->lock );
vlc_cond_destroy( &p_thread->wait );
free( p_thread->psz_title );
- vlc_object_detach( p_thread );
vlc_object_release( p_thread );
free( p_sys );
return VLC_EGENERIC;
aout_filter_RequestVout( p_filter, p_sys->p_thread->p_vout, 0 );
vlc_mutex_destroy( &p_sys->p_thread->lock );
vlc_cond_destroy( &p_sys->p_thread->wait );
- vlc_object_detach( p_sys->p_thread );
while( p_sys->p_thread->i_blocks-- )
{
p_filter->p_module = module_need( p_filter, "audio filter", NULL, false );
if ( p_filter->p_module == NULL )
{
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
return NULL;
}
static void ReleaseFilter( filter_t * p_filter )
{
module_unneed( p_filter, p_filter->p_module );
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
}
module_unneed( p_filter, p_filter->p_module );
free( p_filter->p_owner );
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
}
}
psz_parser );
free( p_filter->p_owner );
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
psz_parser = psz_next;
module_unneed( p_filter, p_filter->p_module );
free( p_filter->p_owner );
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
psz_parser = psz_next;
if( !p_mixer->module )
{
msg_Err( p_aout, "no suitable audio mixer" );
- vlc_object_detach( p_mixer );
free( p_mixer->input );
vlc_object_release( p_mixer );
return VLC_EGENERIC;
if( !p_aout->p_mixer )
return;
- vlc_object_detach( p_aout->p_mixer );
-
module_unneed( p_aout->p_mixer, p_aout->p_mixer->module );
free( p_aout->p_mixer->input );
if( p_access->p_module == NULL )
{
- vlc_object_detach( p_access );
free( p_access->psz_access );
free( p_access->psz_path );
free( p_access->psz_demux );
void access_Delete( access_t *p_access )
{
module_unneed( p_access, p_access->p_module );
- vlc_object_detach( p_access );
free( p_access->psz_access );
free( p_access->psz_path );
if( !p_dec->p_owner->p_packetizer->p_module )
{
es_format_Clean( &p_dec->p_owner->p_packetizer->fmt_in );
- vlc_object_detach( p_dec->p_owner->p_packetizer );
vlc_object_release( p_dec->p_owner->p_packetizer );
}
}
es_format_Clean( &p_owner->p_packetizer->fmt_out );
if( p_owner->p_packetizer->p_description )
vlc_meta_Delete( p_owner->p_packetizer->p_description );
- vlc_object_detach( p_owner->p_packetizer );
vlc_object_release( p_owner->p_packetizer );
}
vlc_cond_destroy( &p_owner->wait_request );
vlc_mutex_destroy( &p_owner->lock );
- vlc_object_detach( p_dec );
vlc_object_release( p_dec );
free( p_owner );
if( p_demux->p_module == NULL )
{
- vlc_object_detach( p_demux );
free( p_demux->psz_path );
free( p_demux->psz_demux );
free( p_demux->psz_access );
void demux_Delete( demux_t *p_demux )
{
module_unneed( p_demux, p_demux->p_module );
- vlc_object_detach( p_demux );
free( p_demux->psz_path );
free( p_demux->psz_demux );
free( p_sys->list[--(p_sys->i_list)] );
free( p_sys->list );
free( s->p_sys );
- vlc_object_detach( s );
stream_CommonDelete( s );
return NULL;
}
{
stream_sys_t *p_sys = s->p_sys;
- vlc_object_detach( s );
-
if( p_sys->method == STREAM_METHOD_BLOCK )
block_ChainRelease( p_sys->block.p_first );
else
if( vlc_thread_create( s, "stream out", DStreamThread,
VLC_THREAD_PRIORITY_INPUT ) )
{
- vlc_object_detach( s );
stream_CommonDelete( s );
free( p_sys->psz_name );
free( p_sys );
block_FifoRelease( p_sys->p_fifo );
free( p_sys->psz_name );
free( p_sys );
- vlc_object_detach( s );
stream_CommonDelete( s );
}
{
if( !s->p_sys->i_preserve_memory ) free( s->p_sys->p_buffer );
free( s->p_sys );
- vlc_object_detach( s );
stream_CommonDelete( s );
}
if( !p_vlm->p_vod->p_module )
{
msg_Err( p_vlm, "cannot find vod server" );
- vlc_object_detach( p_vlm->p_vod );
vlc_object_release( p_vlm->p_vod );
p_vlm->p_vod = NULL;
return VLC_EGENERIC;
if( p_vlm->p_vod && p_vlm->i_vod <= 0 )
{
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 );
p_vlm->p_vod = NULL;
}
if( p_blend->p_module )
module_unneed( p_blend, p_blend->p_module );
- vlc_object_detach( p_blend );
vlc_object_release( p_blend );
}
video_format_Clean( &p_splitter->fmt );
- vlc_object_detach( p_splitter );
vlc_object_release( p_splitter );
}
module_unneed( p_filter, p_filter->p_module );
es_format_Clean( &p_filter->fmt_in );
es_format_Clean( &p_filter->fmt_out );
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
return NULL;
}
else
AllocatorClean( &p_chain->allocator, p_chained );
- vlc_object_detach( p_filter );
if( p_filter->p_module )
module_unneed( p_filter, p_filter->p_module );
free( p_chained->mouse );
static void DeleteDecoder( decoder_t * p_dec )
{
- vlc_object_detach( p_dec );
-
if( p_dec->p_module ) module_unneed( p_dec, p_dec->p_module );
es_format_Clean( &p_dec->fmt_in );
static void DeleteEncoder( encoder_t * p_enc )
{
- vlc_object_detach( p_enc );
-
if( p_enc->p_module ) module_unneed( p_enc, p_enc->p_module );
es_format_Clean( &p_enc->fmt_in );
static void DeleteFilter( filter_t * p_filter )
{
- vlc_object_detach( p_filter );
-
if( p_filter->p_module ) module_unneed( p_filter, p_filter->p_module );
es_format_Clean( &p_filter->fmt_in );
p_xml->p_module = module_need( p_xml, "xml", NULL, false );
if( !p_xml->p_module )
{
- vlc_object_detach( p_xml );
vlc_object_release( p_xml );
msg_Err( p_this, "XML provider not found" );
return NULL;
void xml_Delete( xml_t *p_xml )
{
module_unneed( p_xml, p_xml->p_module );
- vlc_object_detach( p_xml );
vlc_object_release( p_xml );
}
if( httpd->i_host <= 0 )
{
libvlc_priv (httpd->p_libvlc)->p_httpd = NULL;
- vlc_object_detach( httpd );
vlc_object_release( httpd );
}
vlc_mutex_unlock( &httpd_mutex );
msg_Dbg( httpd, "no hosts left, stopping httpd" );
libvlc_priv (httpd->p_libvlc)->p_httpd = NULL;
- vlc_object_detach( httpd );
vlc_object_release( httpd );
}
vlc_mutex_unlock( &httpd_mutex );
return;
module_unneed (srv, srv->p_module);
- vlc_object_detach (srv);
vlc_object_release (srv);
}
return;
module_unneed (cl, cl->p_module);
- vlc_object_detach (cl);
vlc_object_release (cl);
}
FREENULL( p_sout->psz_sout );
- vlc_object_detach( p_sout );
vlc_object_release( p_sout );
return NULL;
}
{
free( p_access->psz_access );
free( p_access->psz_path );
- vlc_object_detach( p_access );
vlc_object_release( p_access );
return( NULL );
}
*****************************************************************************/
void sout_AccessOutDelete( sout_access_out_t *p_access )
{
- vlc_object_detach( p_access );
if( p_access->p_module )
{
module_unneed( p_access, p_access->p_module );
{
FREENULL( p_mux->psz_mux );
- vlc_object_detach( p_mux );
vlc_object_release( p_mux );
return NULL;
}
*****************************************************************************/
void sout_MuxDelete( sout_mux_t *p_mux )
{
- vlc_object_detach( p_mux );
if( p_mux->p_module )
{
module_unneed( p_mux, p_mux->p_module );
{
msg_Dbg( p_stream, "destroying chain... (name=%s)", p_stream->psz_name );
- vlc_object_detach( p_stream );
if( p_stream->p_module ) module_unneed( p_stream, p_stream->p_module );
FREENULL( p_stream->psz_name );
if (load_module) {
vd->module = module_need(vd, "vout display", module, module && *module != '\0');
if (!vd->module) {
- vlc_object_detach(vd);
vlc_object_release(vd);
return NULL;
}
*/
static void vout_display_Delete(vout_display_t *vd)
{
- vlc_object_detach(vd);
-
if (vd->module)
module_unneed(vd, vd->module);
if( p_filter->p_module )
module_unneed( p_filter, p_filter->p_module );
- vlc_object_detach( p_filter );
vlc_object_release( p_filter );
}
w->module = module_need(window, type, module, module && *module != '\0');
if (!w->module) {
- vlc_object_detach(window);
vlc_object_release(window);
return NULL;
}
window_t *w = (window_t *)window;
if (w->inhibit)
vlc_inhibit_Destroy (w->inhibit);
- vlc_object_detach(window);
module_unneed(window, w->module);
}
/* FIXME: thread-safety... */
- vlc_object_detach (p_helper);
vlc_object_release (p_helper);
p_helper = NULL;
}