]> git.sesse.net Git - vlc/commitdiff
libvlc: Export _get/set_nsobject.
authorPierre d'Herbemont <steg@nibudy.local>
Sat, 11 Apr 2009 17:29:35 +0000 (10:29 -0700)
committerPierre d'Herbemont <pdherbemont@free.fr>
Sat, 11 Apr 2009 19:37:58 +0000 (12:37 -0700)
include/vlc/libvlc.h
src/control/libvlc_internal.h
src/control/media_player.c
src/libvlc.sym

index a3a40e7980e66855908906c2d6b30d80041f290f..67acf9994fa5fa80f4ec5032db7e17aa6cc11102 100644 (file)
@@ -555,6 +555,22 @@ VLC_PUBLIC_API void libvlc_media_player_pause ( libvlc_media_player_t *, libvlc_
  */
 VLC_PUBLIC_API void libvlc_media_player_stop ( libvlc_media_player_t *, libvlc_exception_t * );
 
+/**
+ * Set the agl handler where the media player should render its video output.
+ *
+ * \param p_mi the Media Player
+ * \param drawable the agl handler
+ * \param p_e an initialized exception pointer
+ */
+VLC_PUBLIC_API void libvlc_media_player_set_nsobject ( libvlc_media_player_t *p_mi, void * drawable, libvlc_exception_t *p_e );
+
+/**
+ * Get the agl handler previously set with libvlc_media_player_set_agl().
+ *
+ * \return the agl handler or 0 if none where set
+ */
+VLC_PUBLIC_API uint32_t libvlc_media_player_get_nsobject ( libvlc_media_player_t *p_mi );
+       
 /**
  * Set the agl handler where the media player should render its video output.
  *
index f27447810253ffb1a8ef80e7a8136965d11adb9a..67e8c284469e4b7a171784a114f120e29afdc69f 100644 (file)
@@ -157,6 +157,7 @@ struct libvlc_media_player_t
     struct
     {
         void *hwnd;
+        void *nsobject;
         uint32_t xid;
         uint32_t agl;
     } drawable;
index 6dbb8c6a6a3df7f0be14628326d45dfce133e15a..86398134748a9026a9155f5d362c6002bf76d20f 100644 (file)
@@ -633,6 +633,13 @@ void libvlc_media_player_play( libvlc_media_player_t *p_mi,
         var_Set( p_input_thread, "drawable-hwnd", val );
     }
 
+       var_Create( p_input_thread, "drawable-nsobject", VLC_VAR_ADDRESS );
+    if( p_mi->drawable.nsobject != NULL )
+    {
+        vlc_value_t val = { .p_address = p_mi->drawable.nsobject };
+        var_Set( p_input_thread, "drawable-nsobject", val );
+    }
+       
     var_AddCallback( p_input_thread, "can-seek", input_seekable_changed, p_mi );
     var_AddCallback( p_input_thread, "can-pause", input_pausable_changed, p_mi );
     var_AddCallback( p_input_thread, "intf-event", input_event_changed, p_mi );
@@ -718,6 +725,25 @@ void libvlc_media_player_stop( libvlc_media_player_t *p_mi,
     }
 }
 
+/**************************************************************************
+ * set_nsobject
+ **************************************************************************/
+void libvlc_media_player_set_nsobject( libvlc_media_player_t *p_mi,
+                                                                void * drawable,
+                                                                libvlc_exception_t *p_e )
+{
+    (void) p_e;
+    p_mi->drawable.nsobject = drawable;
+}
+
+/**************************************************************************
+ * get_agl
+ **************************************************************************/
+uint32_t libvlc_media_player_get_nsobject( libvlc_media_player_t *p_mi )
+{
+    return p_mi->drawable.nsobject;
+}
+
 /**************************************************************************
  * set_agl
  **************************************************************************/
index 2f26333ae5bd78d2ddf0ed0631a6b1e3aef7b20e..2dbffcf7945c8cc774af1c0a2d6e9da62a51c779 100644 (file)
@@ -130,6 +130,7 @@ libvlc_media_player_get_fps
 libvlc_media_player_get_hwnd
 libvlc_media_player_get_length
 libvlc_media_player_get_media
+libvlc_media_player_get_nsobject
 libvlc_media_player_get_position
 libvlc_media_player_get_rate
 libvlc_media_player_get_state
@@ -154,6 +155,7 @@ libvlc_media_player_set_chapter
 libvlc_media_player_set_drawable
 libvlc_media_player_set_hwnd
 libvlc_media_player_set_media
+libvlc_media_player_set_nsobject
 libvlc_media_player_set_position
 libvlc_media_player_set_rate
 libvlc_media_player_set_time