#define PL_LOCK vlc_object_lock( p_playlist )
#define PL_UNLOCK vlc_object_unlock( p_playlist )
-#define pl_Get( a ) a->p_libvlc->p_playlist
-
VLC_EXPORT( playlist_t *, __pl_Yield, ( vlc_object_t * ) );
#define pl_Yield( a ) __pl_Yield( VLC_OBJECT(a) )
/* We have finished */
p_input->b_eof = true;
- playlist_Signal( pl_Get( p_input ) );
+ playlist_Signal( p_input->p_libvlc->p_playlist );
}
/* Wait until we are asked to die */
vlc_meta_t *p_meta = vlc_meta_New();
access_Control( p_input->p->input.p_access,ACCESS_GET_META, p_meta );
InputUpdateMeta( p_input, p_meta );
- var_SetInteger( pl_Get( p_input ), "item-change", p_input->p->input.p_item->i_id );
+ var_SetInteger( p_input->p_libvlc->p_playlist, "item-change", p_input->p->input.p_item->i_id );
p_access->info.i_update &= ~INPUT_UPDATE_META;
}
if( !p_input->b_preparsing )
{
pl_Yield( p_input );
- var_SetInteger( pl_Get( p_input ), "item-change",
+ var_SetInteger( p_input->p_libvlc->p_playlist, "item-change",
p_input->p->input.p_item->i_id );
pl_Release( p_input );
}
#ifndef __APPLE__
vout_thread_t *p_another_vout;
- playlist_t *p_playlist = pl_Get( p_vout );
- if( p_playlist->b_die ) return;
- vlc_object_yield( p_playlist );
-/* This is a dirty hack for mostly Linux, where there is no way to get the GUI
- back if you closed it while playing video. This is solved in Mac OS X,
- where we have this novelty called menubar, that will always allow you access
- to the applications main functionality. They should try that on linux sometime */
- p_another_vout = vlc_object_find( p_this->p_libvlc,
- VLC_OBJECT_VOUT, FIND_ANYWHERE );
- if( p_another_vout == NULL )
- {
- vlc_value_t val;
- val.b_bool = true;
- var_Set( p_playlist, "intf-show", val );
+ playlist_t *p_playlist = pl_Yield( p_vout );
+ if( p_playlist->b_die )
+ {
+ pl_Release( p_vout );
+ return;
}
+ /* This is a dirty hack mostly for Linux, where there is no way to get the
+ * GUI back if you closed it while playing video. This is solved in
+ * Mac OS X, where we have this novelty called menubar, that will always
+ * allow you access to the applications main functionality. They should try
+ * that on linux sometime. */
+ p_another_vout = vlc_object_find( p_this->p_libvlc,
+ VLC_OBJECT_VOUT, FIND_ANYWHERE );
+ if( p_another_vout == NULL )
+ var_SetBool( p_playlist, "intf-show", true );
else
- {
vlc_object_release( p_another_vout );
- }
- vlc_object_release( p_playlist );
+ pl_Release( p_vout );
#endif
}