/*****************************************************************************
* Preamble
*****************************************************************************/
-#include <stdlib.h> /* malloc(), free() */
-#include <string.h>
#include <vlc/vlc.h>
#include <vlc_interface.h>
{
input_thread_t * p_input;
- PL_LOCK;
- p_input = p_playlist->p_input;
- if( p_input )
- vlc_object_yield( p_input );
+ PL_LOCK;
+ p_input = p_playlist->p_input;
+ if( p_input )
+ vlc_object_yield( p_input );
PL_UNLOCK;
return p_input;
{
playlist_t * p_playlist = NULL;
+ vlc_mutex_lock( &p_intf->change_lock );
+ p_intf->p_sys->p_vout = NULL;
+ vlc_mutex_unlock( &p_intf->change_lock );
+
if( InitThread( p_intf ) < 0 )
{
msg_Err( p_intf, "can't initialize interface thread" );
break;
p_input = input_from_playlist( p_playlist );
-
+ vlc_object_release( p_playlist );
+
if( !p_input )
- {
- vlc_object_release( p_playlist );
break;
- }
-
+
val.i_int = PLAYING_S;
if( p_input )
{
}
msg_Dbg(p_intf, "Play/Pause");
vlc_object_release( p_input );
- vlc_object_release( p_playlist );
}
break;
case GESTURE(LEFT,DOWN,NONE,NONE):
p_input = input_from_playlist( p_playlist );
+ vlc_object_release( p_playlist );
+
if( !p_input )
- {
- vlc_object_release( p_playlist );
break;
- }
var_Get( p_input, "audio-es", &val );
var_Change( p_input, "audio-es", VLC_VAR_GETCHOICES,
if( i_count <= 1 )
{
vlc_object_release( p_input );
- vlc_object_release( p_playlist );
- continue;
+ break;
}
for( i = 0; i < i_count; i++ )
{
if( val.i_int == list.p_list->p_values[i].i_int )
{
- vlc_object_release( p_input );
- vlc_object_release( p_playlist );
break;
}
}
i++;
}
vlc_object_release( p_input );
- vlc_object_release( p_playlist );
}
break;
case GESTURE(DOWN,RIGHT,NONE,NONE):
break;
p_input = input_from_playlist( p_playlist );
+ vlc_object_release( p_playlist );
if( !p_input )
- {
- vlc_object_release( p_playlist );
break;
- }
+
var_Get( p_input, "spu-es", &val );
var_Change( p_input, "spu-es", VLC_VAR_GETCHOICES,
if( i_count <= 1 )
{
vlc_object_release( p_input );
- vlc_object_release( p_playlist );
- continue;
+ break;
}
for( i = 0; i < i_count; i++ )
{
if( val.i_int == list.p_list->p_values[i].i_int )
{
- vlc_object_release( p_input );
- vlc_object_release( p_playlist );
break;
}
}
}
else
{
- var_Set( p_input, "spu-es",
+ var_Set( p_input, "spu-es",
list.p_list->p_values[i+1] );
i = i + 1;
}
vlc_object_release( p_input );
- vlc_object_release( p_playlist );
}
break;
case GESTURE(UP,LEFT,NONE,NONE):
break;
case GESTURE(DOWN,LEFT,NONE,NONE):
/* FIXME: Should close the vout!"*/
- p_intf->p_libvlc->b_die = VLC_TRUE;
+ vlc_object_kill( p_intf->p_libvlc );
break;
case GESTURE(DOWN,LEFT,UP,RIGHT):
case GESTURE(UP,RIGHT,DOWN,LEFT):