Add libvlc_media_player_get_(hwnd|xwindow) as requested on forum

This commit is contained in:
Rémi Denis-Courmont 2009-02-12 22:22:34 +02:00
parent edfdafc7f0
commit f2f24f4915
3 changed files with 33 additions and 0 deletions

View File

@ -568,6 +568,16 @@ VLC_PUBLIC_API void libvlc_media_player_stop ( libvlc_media_player_t *, libvlc_e
*/
VLC_PUBLIC_API void libvlc_media_player_set_xwindow ( libvlc_media_player_t *p_mi, uint32_t drawable, libvlc_exception_t *p_e );
/**
* Get the X Window System window identifier previously set with
* libvlc_media_player_set_xwindow(). Note that this will return the identifier
* even if VLC is not currently using it (for instance if it is playing an
* audio-only input).
*
* \return an X window ID, or 0 if none where set.
*/
VLC_PUBLIC_API uint32_t libvlc_media_player_get_xwindow ( libvlc_media_player_t *p_mi );
/**
* Set a Win32/Win64 API window handle (HWND) where the media player should
* render its video output. If LibVLC was built without Win32/Win64 API output
@ -579,6 +589,17 @@ VLC_PUBLIC_API void libvlc_media_player_set_xwindow ( libvlc_media_player_t *p_m
*/
VLC_PUBLIC_API void libvlc_media_player_set_hwnd ( libvlc_media_player_t *p_mi, void *drawable, libvlc_exception_t *p_e );
/**
* Get the Windows API window handle (HWND) previously set with
* libvlc_media_player_set_hwnd(). The handle will be returned even if LibVLC
* is not currently outputting any video to it.
*
* \return a window handle or NULL if there are none.
*/
VLC_PUBLIC_API void *libvlc_media_player_get_hwnd ( libvlc_media_player_t *p_mi );
/** \bug This might go away ... to be replaced by a broader system */
/**

View File

@ -706,6 +706,11 @@ void libvlc_media_player_set_xwindow( libvlc_media_player_t *p_mi,
p_mi->drawable.xid = drawable;
}
uint32_t libvlc_media_player_get_xwindow( libvlc_media_player_t *p_mi )
{
return p_mi->drawable.xid;
}
void libvlc_media_player_set_hwnd( libvlc_media_player_t *p_mi,
void *drawable,
libvlc_exception_t *p_e )
@ -714,6 +719,11 @@ void libvlc_media_player_set_hwnd( libvlc_media_player_t *p_mi,
p_mi->drawable.hwnd = drawable;
}
void *libvlc_media_player_get_hwnd( libvlc_media_player_t *p_mi )
{
return p_mi->drawable.hwnd;
}
/**************************************************************************
* Set Drawable
**************************************************************************/

View File

@ -125,6 +125,7 @@ libvlc_media_player_get_chapter_count
libvlc_media_player_get_chapter_count_for_title
libvlc_media_player_get_drawable
libvlc_media_player_get_fps
libvlc_media_player_get_hwnd
libvlc_media_player_get_length
libvlc_media_player_get_media
libvlc_media_player_get_position
@ -133,6 +134,7 @@ libvlc_media_player_get_state
libvlc_media_player_get_time
libvlc_media_player_get_title
libvlc_media_player_get_title_count
libvlc_media_player_get_xwindow
libvlc_media_player_has_vout
libvlc_media_player_is_seekable
libvlc_media_player_is_playing