]> git.sesse.net Git - vlc/commitdiff
LUA:Expose vout
authorAkash Mehrotra <mehrotra.akash@gmail.com>
Thu, 4 Aug 2011 12:20:23 +0000 (17:50 +0530)
committerRémi Denis-Courmont <remi@remlab.net>
Tue, 23 Aug 2011 19:37:51 +0000 (22:37 +0300)
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
modules/lua/libs/objects.c
share/lua/intf/modules/httprequests.lua

index ab795d8495d228eb1e1387d4c10b707d4e289672..9a2adad4dd50b56feb416124f3275c919d02f125 100644 (file)
@@ -33,6 +33,7 @@
 #endif
 
 #include <vlc_common.h>
+#include <vlc_vout.h>
 
 #include <lua.h>        /* Low level lua C API */
 #include <lauxlib.h>    /* Higher level C API */
@@ -111,6 +112,22 @@ int vlclua_push_vlc_object( lua_State *L, vlc_object_t *p_obj )
     lua_setmetatable( L, -2 );
     return 1;
 }
+static int vlclua_get_vout( lua_State *L )
+{
+    input_thread_t *p_input= vlclua_get_input_internal( L );
+    if( p_input )
+    {
+        vout_thread_t *p_vout = input_GetVout( p_input );
+        vlc_object_release( p_input );
+        if(p_vout)
+        {
+            vlclua_push_vlc_object( L, (vlc_object_t *) p_vout );
+            return 1;
+        }
+    }
+    lua_pushnil( L );
+    return 1;
+}
 
 /*****************************************************************************
  *
@@ -120,6 +137,7 @@ static const luaL_Reg vlclua_object_reg[] = {
     { "playlist", vlclua_get_playlist },
     { "libvlc", vlclua_get_libvlc },
     { "find", vlclua_object_find },
+    { "vout", vlclua_get_vout},
     { NULL, NULL }
 };
 
index b00584ce6a4f8073fbdae6b8a01ecb31d047227e..b96cb9e4d3956051c10aced2e5777226764cf339 100644 (file)
@@ -306,7 +306,7 @@ getstatus = function (includecategories)
 local input = vlc.object.input()
 local item = vlc.input.item()
 local playlist = vlc.object.playlist()
-local vout = input and vlc.object.find(input,'vout','child')
+local vout = vlc.object.vout()
 
        local s ={}