]> git.sesse.net Git - vlc/commitdiff
lua: also implement timer:getoverrun()
authorRémi Duraffort <ivoire@videolan.org>
Mon, 13 Sep 2010 17:46:31 +0000 (19:46 +0200)
committerRémi Duraffort <ivoire@videolan.org>
Mon, 13 Sep 2010 17:46:31 +0000 (19:46 +0200)
modules/misc/lua/libs/misc.c

index 2d7bbc92277d398a31ec226f038bd765d3a23a24..96f260fac85d5486385b1534de7634937bf06c29 100644 (file)
@@ -248,10 +248,12 @@ static int vlclua_action_id( lua_State *L )
  * Timer functions
  *****************************************************************************/
 static int vlclua_timer_schedule( lua_State *L );
+static int vlclua_timer_getoverrun( lua_State *L);
 
 static const luaL_Reg vlclua_timer_reg[] = {
-    { "schedule",   vlclua_timer_schedule },
-    { NULL,         NULL                  }
+    { "schedule",   vlclua_timer_schedule   },
+    { "getoverrun", vlclua_timer_getoverrun },
+    { NULL,         NULL                    }
 };
 
 typedef struct
@@ -275,6 +277,16 @@ static int vlclua_timer_schedule( lua_State *L )
     return 0;
 }
 
+static int vlclua_timer_getoverrun( lua_State *L )
+{
+    vlclua_timer_t **pp_timer = (vlclua_timer_t**)luaL_checkudata(L, 1, "timer" );
+    if( !pp_timer || !*pp_timer )
+        luaL_error( L, "Can't get pointer to timer" );
+
+    lua_pushinteger( L, vlc_timer_getoverrun( (*pp_timer)->timer ) );
+    return 1;
+}
+
 static void vlclua_timer_callback( void *data )
 {
     vlclua_timer_t *p_timer = (vlclua_timer_t*)data;