var_AddCallback( p_playlist, "fullscreen", FullscreenChanged, self);
var_AddCallback( p_intf->p_libvlc, "intf-show", ShowController, self);
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
var_Create( p_intf, "interaction", VLC_VAR_ADDRESS );
var_AddCallback( p_intf, "interaction", InteractCallback, self );
//b_chapters = p_input->stream.i_area_nb > 1;
vlc_object_release( p_input );
}
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
[o_btn_stop setEnabled: b_input];
[o_btn_ff setEnabled: b_seekable];
else
{
p_intf->p_sys->i_play_status = END_S;
- p_intf->p_sys->b_playlist_update = true;
[self playStatusUpdated: p_intf->p_sys->i_play_status];
[o_embedded_window playStatusUpdated: p_intf->p_sys->i_play_status];
[self setSubmenusEnabled: FALSE];
- (void)setupMenus
{
playlist_t * p_playlist = pl_Yield( p_intf );
- input_thread_t * p_input = p_playlist->p_input;
+ input_thread_t * p_input = playlist_CurrentInput( p_playlist );
if( p_input != NULL )
{
- vlc_object_yield( p_input );
[o_controls setupVarMenuItem: o_mi_program target: (vlc_object_t *)p_input
var: "program" selector: @selector(toggleVar:)];
}
vlc_object_release( p_input );
}
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
}
- (void)refreshVoutDeviceMenu:(NSNotification *)o_notification
- (void)resetScrollField
{
playlist_t * p_playlist = pl_Yield( p_intf );
- input_thread_t * p_input = p_playlist->p_input;
+ input_thread_t * p_input = playlist_CurrentInput( p_playlist );
i_end_scroll = -1;
if( p_input && vlc_object_alive (p_input) )
{
NSString *o_temp;
- vlc_object_yield( p_input );
if( input_item_GetNowPlaying ( p_playlist->status.p_item->p_input ) )
o_temp = [NSString stringWithUTF8String:
input_item_GetNowPlaying ( p_playlist->status.p_item->p_input )];
[self setScrollField: o_temp stopAfter:-1];
[[[self getControls] getFSPanel] setStreamTitle: o_temp];
vlc_object_release( p_input );
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
return;
}
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
[self setScrollField: _NS("VLC media player") stopAfter:-1];
}
return;
}
p_playlist = pl_Yield( p_intf );
- p_input = p_playlist->p_input;
+ p_input = playlist_CurrentInput( p_playlist );
if( p_input != NULL )
{
vlc_value_t time;
vlc_value_t pos;
NSString * o_time;
char psz_time[MSTRTIME_MAX_SIZE];
- vlc_object_yield( p_input );
pos.f_float = f_updated / 10000.;
var_Set( p_input, "position", pos );
[o_embedded_window setTime: o_time position: f_updated];
vlc_object_release( p_input );
}
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
}
- (void)applicationWillTerminate:(NSNotification *)notification
/* write cached user defaults to disk */
[[NSUserDefaults standardUserDefaults] synchronize];
+ /* Kill the playlist, so that it doesn't accept new request
+ * such as the play request from vlc.c (we are a blocking interface). */
+ p_playlist = pl_Yield( p_intf );
+ vlc_object_kill( p_playlist );
+ pl_Release( p_intf );
+
vlc_object_kill( p_intf->p_libvlc );
/* Go back to Run() and make libvlc exit properly */
o_prefs= [[VLCPrefs alloc] init];
}
- if( sender == o_mi_sprefs )
- {
- [o_sprefs showSimplePrefs];
- }
- else
- [o_prefs showPrefs];
+ [o_sprefs showSimplePrefs];
}
- (IBAction)checkForUpdate:(id)sender