[grilo-plugins] lua-factory: Add support for GRL_METADATA_KEY_SIZE



commit 46d7ebff52b8c936f32140b457d5f9c0e6e83b50
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Jul 21 19:40:12 2015 +0200

    lua-factory: Add support for GRL_METADATA_KEY_SIZE
    
    GRL_METADATA_KEY_SIZE is an int64 key, which we need to support.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=752681

 src/lua-factory/grl-lua-library.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/lua-factory/grl-lua-library.c b/src/lua-factory/grl-lua-library.c
index 08e593d..ab74bae 100644
--- a/src/lua-factory/grl-lua-library.c
+++ b/src/lua-factory/grl-lua-library.c
@@ -244,6 +244,11 @@ grl_util_add_table_to_media (lua_State *L,
         grl_data_add_int (GRL_DATA (media), key_id, lua_tointeger (L, -1));
       break;
 
+    case G_TYPE_INT64:
+      if (lua_isnumber (L, -1))
+        grl_data_add_int64 (GRL_DATA (media), key_id, lua_tointeger (L, -1));
+      break;
+
     case G_TYPE_FLOAT:
       if (lua_isnumber (L, -1))
         grl_data_add_float (GRL_DATA (media), key_id, lua_tointeger (L, -1));
@@ -339,6 +344,17 @@ grl_util_build_media (lua_State *L,
         }
         break;
 
+      case G_TYPE_INT64:
+        if (lua_isnumber (L, -1)) {
+          grl_data_set_int64 (GRL_DATA (media), key_id, lua_tointeger (L, -1));
+        } else if (lua_istable (L, -1)) {
+          grl_util_add_table_to_media (L, media, key_id, key_name, type);
+        } else if (!lua_isnil (L, -1)) {
+          GRL_WARNING ("'%s' is not compatible for '%s'",
+                       lua_typename (L, -1), key_name);
+        }
+        break;
+
       case G_TYPE_STRING:
         if (lua_isstring (L, -1)) {
           grl_data_set_lua_string (GRL_DATA (media), key_id, key_name, lua_tostring (L, -1));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]