Commit f2f24f49 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Add libvlc_media_player_get_(hwnd|xwindow) as requested on forum

parent edfdafc7
......@@ -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 */
/**
......
......@@ -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
**************************************************************************/
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment