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 ...@@ -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 ); 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 * 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 * 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 ...@@ -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 ); 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 */ /** \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, ...@@ -706,6 +706,11 @@ void libvlc_media_player_set_xwindow( libvlc_media_player_t *p_mi,
p_mi->drawable.xid = drawable; 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 libvlc_media_player_set_hwnd( libvlc_media_player_t *p_mi,
void *drawable, void *drawable,
libvlc_exception_t *p_e ) libvlc_exception_t *p_e )
...@@ -714,6 +719,11 @@ void libvlc_media_player_set_hwnd( libvlc_media_player_t *p_mi, ...@@ -714,6 +719,11 @@ void libvlc_media_player_set_hwnd( libvlc_media_player_t *p_mi,
p_mi->drawable.hwnd = drawable; p_mi->drawable.hwnd = drawable;
} }
void *libvlc_media_player_get_hwnd( libvlc_media_player_t *p_mi )
{
return p_mi->drawable.hwnd;
}
/************************************************************************** /**************************************************************************
* Set Drawable * Set Drawable
**************************************************************************/ **************************************************************************/
......
...@@ -125,6 +125,7 @@ libvlc_media_player_get_chapter_count ...@@ -125,6 +125,7 @@ libvlc_media_player_get_chapter_count
libvlc_media_player_get_chapter_count_for_title libvlc_media_player_get_chapter_count_for_title
libvlc_media_player_get_drawable libvlc_media_player_get_drawable
libvlc_media_player_get_fps libvlc_media_player_get_fps
libvlc_media_player_get_hwnd
libvlc_media_player_get_length libvlc_media_player_get_length
libvlc_media_player_get_media libvlc_media_player_get_media
libvlc_media_player_get_position libvlc_media_player_get_position
...@@ -133,6 +134,7 @@ libvlc_media_player_get_state ...@@ -133,6 +134,7 @@ libvlc_media_player_get_state
libvlc_media_player_get_time libvlc_media_player_get_time
libvlc_media_player_get_title libvlc_media_player_get_title
libvlc_media_player_get_title_count libvlc_media_player_get_title_count
libvlc_media_player_get_xwindow
libvlc_media_player_has_vout libvlc_media_player_has_vout
libvlc_media_player_is_seekable libvlc_media_player_is_seekable
libvlc_media_player_is_playing 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