* Object lock is NOT held.
* Input lock is held or instance is being destroyed.
*/
-static void release_input_thread( libvlc_media_player_t *p_mi, bool b_input_abort )
+static void release_input_thread( libvlc_media_player_t *p_mi )
{
assert( p_mi );
del_es_callbacks( p_input_thread, p_mi );
/* We owned this one */
- input_Stop( p_input_thread, b_input_abort );
+ input_Stop( p_input_thread );
input_Close( p_input_thread );
}
set_state( p_mi, libvlc_state, false );
libvlc_event_send( p_mi->p_event_manager, &event );
}
- else if( newval.i_int == INPUT_EVENT_ABORT )
+ else if( newval.i_int == INPUT_EVENT_DEAD )
{
- libvlc_state_t libvlc_state = libvlc_Stopped;
+ libvlc_state_t libvlc_state = libvlc_Ended;
event.type = libvlc_MediaPlayerStopped;
set_state( p_mi, libvlc_state, false );
return VLC_SUCCESS;
}
-/* */
-static void libvlc_media_player_destroy( libvlc_media_player_t * );
-
-
/**************************************************************************
* Create a Media Instance object.
*
var_Create (mp, "vmem-width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
var_Create (mp, "vmem-height", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
var_Create (mp, "vmem-pitch", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
+ var_Create (mp, "avcodec-hw", VLC_VAR_STRING);
var_Create (mp, "drawable-xid", VLC_VAR_INTEGER);
#if defined (_WIN32) || defined (__OS2__)
var_Create (mp, "drawable-hwnd", VLC_VAR_INTEGER);
var_SetBool (mp, "mouse-events", true);
var_Create (mp, "fullscreen", VLC_VAR_BOOL);
- var_Create (mp, "autoscale", VLC_VAR_BOOL);
- var_SetBool (mp, "autoscale", true);
- var_Create (mp, "scale", VLC_VAR_FLOAT);
- var_SetFloat (mp, "scale", 1.);
+ var_Create (mp, "autoscale", VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
+ var_Create (mp, "zoom", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT);
var_Create (mp, "aspect-ratio", VLC_VAR_STRING);
var_Create (mp, "crop", VLC_VAR_STRING);
var_Create (mp, "deinterlace", VLC_VAR_INTEGER);
var_Create (mp, "deinterlace-mode", VLC_VAR_STRING);
var_Create (mp, "vbi-page", VLC_VAR_INTEGER);
+ var_SetInteger (mp, "vbi-page", 100);
var_Create (mp, "marq-marquee", VLC_VAR_STRING);
var_Create (mp, "marq-color", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
/* No need for lock_input() because no other threads knows us anymore */
if( p_mi->input.p_thread )
- release_input_thread(p_mi, true);
+ release_input_thread(p_mi);
input_resource_Terminate( p_mi->input.p_resource );
input_resource_Release( p_mi->input.p_resource );
vlc_mutex_destroy( &p_mi->input.lock );
{
lock_input(p_mi);
- /* FIXME I am not sure if it is a user request or on die(eof/error)
- * request here */
- release_input_thread( p_mi,
- p_mi->input.p_thread &&
- !p_mi->input.p_thread->b_eof &&
- !p_mi->input.p_thread->b_error );
+ release_input_thread( p_mi );
lock( p_mi );
set_state( p_mi, libvlc_NothingSpecial, true );
if( libvlc_media_player_can_pause( p_mi ) )
input_Control( p_input_thread, INPUT_SET_STATE, PAUSE_S );
else
- input_Stop( p_input_thread, true );
+ input_Stop( p_input_thread );
}
}
else
**************************************************************************/
void libvlc_media_player_stop( libvlc_media_player_t *p_mi )
{
- libvlc_state_t state = libvlc_media_player_get_state( p_mi );
-
lock_input(p_mi);
- release_input_thread( p_mi, true ); /* This will stop the input thread */
+ release_input_thread( p_mi ); /* This will stop the input thread */
/* Force to go to stopped state, in case we were in Ended, or Error
* state. */
- if( state != libvlc_Stopped )
+ if( p_mi->state != libvlc_Stopped )
{
set_state( p_mi, libvlc_Stopped, false );
var_SetAddress( mp, "vmem-display", display_cb );
var_SetAddress( mp, "vmem-data", opaque );
var_SetString( mp, "vout", "vmem" );
+ var_SetString( mp, "avcodec-hw", "none" );
}
void libvlc_video_set_format_callbacks( libvlc_media_player_t *mp,
{
assert (p_mi != NULL);
+ var_SetString (p_mi, "avcodec-hw", "");
var_SetString (p_mi, "vout", drawable ? "xid" : "any");
var_SetString (p_mi, "window", drawable ? "embed-xid,any" : "any");
var_SetInteger (p_mi, "drawable-xid", drawable);
return NULL;
vlc_value_t val_list, text_list;
- int i_ret = var_Change( p_input, psz_variable, VLC_VAR_GETLIST, &val_list, &text_list );
+ int i_ret = var_Change( p_input, psz_variable, VLC_VAR_GETCHOICES, &val_list, &text_list );
if( i_ret != VLC_SUCCESS )
return NULL;