/*****************************************************************************
* media_player.c: Libvlc API Media Instance management functions
*****************************************************************************
- * Copyright (C) 2005-2009 the VideoLAN team
- * $Id$
+ * Copyright (C) 2005-2011 the VideoLAN team
*
* Authors: Clément Stenac <zorglub@videolan.org>
*
ACTIONID_NAV_RIGHT
};
-static const uint32_t libvlc_navigate_to_action_size = \
+static const uint32_t libvlc_navigate_to_action_size = \
sizeof( libvlc_navigate_to_action ) / sizeof( libvlc_navigate_to_action[0] );
var_GetFloat( p_input, "cache" ));
libvlc_event_send( p_mi->p_event_manager, &event );
}
+ else if( newval.i_int == INPUT_EVENT_VOUT )
+ {
+ vout_thread_t **pp_vout;
+ size_t i_vout;
+ if( input_Control( p_input, INPUT_GET_VOUTS, &pp_vout, &i_vout ) )
+ {
+ i_vout = 0;
+ }
+ else
+ {
+ for( size_t i = 0; i < i_vout; i++ )
+ vlc_object_release( pp_vout[i] );
+ free( pp_vout );
+ }
+
+ event.type = libvlc_MediaPlayerVout;
+ event.u.media_player_vout.new_count = i_vout;
+ libvlc_event_send( p_mi->p_event_manager, &event );
+ }
return VLC_SUCCESS;
}
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, "drawable-xid", VLC_VAR_INTEGER);
-#ifdef WIN32
+#if defined (WIN32) || defined (__OS2__)
var_Create (mp, "drawable-hwnd", VLC_VAR_INTEGER);
#endif
#ifdef __APPLE__
var_SetAddress (mp, "find-input-callback", find_input);
var_Create (mp, "amem-data", VLC_VAR_ADDRESS);
var_Create (mp, "amem-setup", VLC_VAR_ADDRESS);
- var_Create (mp, "amem-close", VLC_VAR_ADDRESS);
+ var_Create (mp, "amem-cleanup", VLC_VAR_ADDRESS);
var_Create (mp, "amem-play", VLC_VAR_ADDRESS);
var_Create (mp, "amem-pause", VLC_VAR_ADDRESS);
var_Create (mp, "amem-resume", VLC_VAR_ADDRESS);
register_event(mp, TitleChanged);
register_event(mp, PausableChanged);
+ register_event(mp, Vout);
+
/* Snapshot initialization */
register_event(mp, SnapshotTaken);
void *drawable )
{
assert (p_mi != NULL);
-#ifdef WIN32
+#if defined (WIN32) || defined (__OS2__)
var_SetString (p_mi, "window",
(drawable != NULL) ? "embed-hwnd,any" : "");
var_SetInteger (p_mi, "drawable-hwnd", (uintptr_t)drawable);
void *libvlc_media_player_get_hwnd( libvlc_media_player_t *p_mi )
{
assert (p_mi != NULL);
-#ifdef WIN32
+#if defined (WIN32) || defined (__OS2__)
return (void *)(uintptr_t)var_GetInteger (p_mi, "drawable-hwnd");
#else
return NULL;
}
void libvlc_media_player_navigate( libvlc_media_player_t* p_mi,
- unsigned navigate )
+ unsigned navigate )
{
input_thread_t *p_input_thread;
return;
var_SetInteger( p_mi->p_libvlc_instance->p_libvlc_int,
- "key-action", libvlc_navigate_to_action[navigate] );
+ "key-action", libvlc_navigate_to_action[navigate] );
vlc_object_release( p_input_thread );
}
malloc( sizeof( libvlc_track_description_t ) );
if ( !p_actual )
{
- libvlc_track_description_release( p_track_description );
+ libvlc_track_description_list_release( p_track_description );
libvlc_printerr( "Not enough memory" );
goto end;
}
return p_track_description;
}
+// Deprecated alias for libvlc_track_description_list_release
void libvlc_track_description_release( libvlc_track_description_t *p_td )
+{
+ libvlc_track_description_list_release( p_td );
+}
+
+void libvlc_track_description_list_release( libvlc_track_description_t *p_td )
{
libvlc_track_description_t *p_actual, *p_before;
p_actual = p_td;