Commit ead8a18c authored by Gaurav Narula's avatar Gaurav Narula Committed by Jean-Baptiste Kempf

LUA: add support for category field in SD nodes and items

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
(cherry picked from commit f8fa7854726df936f683f239c726f4719cb82ca7)
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 23e79b85
...@@ -190,7 +190,9 @@ static int vlclua_sd_add_node( lua_State *L ) ...@@ -190,7 +190,9 @@ static int vlclua_sd_add_node( lua_State *L )
input_item_SetArtURL( p_input, psz_value ); input_item_SetArtURL( p_input, psz_value );
free( psz_value ); free( psz_value );
} }
services_discovery_AddItem( p_sd, p_input, NULL ); lua_pop( L, 1 );
lua_getfield( L, -1, "category" );
services_discovery_AddItem( p_sd, p_input, luaL_checkstring( L, -1 ) );
input_item_t **udata = (input_item_t **) input_item_t **udata = (input_item_t **)
lua_newuserdata( L, sizeof( input_item_t * ) ); lua_newuserdata( L, sizeof( input_item_t * ) );
*udata = p_input; *udata = p_input;
...@@ -222,8 +224,12 @@ static int vlclua_sd_add_item( lua_State *L ) ...@@ -222,8 +224,12 @@ static int vlclua_sd_add_item( lua_State *L )
char **ppsz_options = NULL; char **ppsz_options = NULL;
int i_options = 0; int i_options = 0;
const char *psz_path = lua_tostring( L, -1 ); const char *psz_path = lua_tostring( L, -1 );
vlclua_read_options( p_sd, L, &i_options, &ppsz_options ); vlclua_read_options( p_sd, L, &i_options, &ppsz_options );
input_item_t *p_input = input_item_NewExt( psz_path, psz_path, lua_pop( L, 1 );
lua_getfield( L, -1, "title" );
const char *psz_title = luaL_checkstring( L, -1 ) ? luaL_checkstring( L, -1 ) : psz_path;
input_item_t *p_input = input_item_NewExt( psz_path, psz_title,
i_options, i_options,
(const char **)ppsz_options, (const char **)ppsz_options,
VLC_INPUT_OPTION_TRUSTED, -1 ); VLC_INPUT_OPTION_TRUSTED, -1 );
...@@ -241,7 +247,9 @@ static int vlclua_sd_add_item( lua_State *L ) ...@@ -241,7 +247,9 @@ static int vlclua_sd_add_item( lua_State *L )
else if( !lua_isnil( L, -1 ) ) else if( !lua_isnil( L, -1 ) )
msg_Warn( p_sd, "Item duration should be a number (in seconds)." ); msg_Warn( p_sd, "Item duration should be a number (in seconds)." );
lua_pop( L, 1 ); lua_pop( L, 1 );
services_discovery_AddItem( p_sd, p_input, NULL ); lua_getfield( L, -1, "category" );
services_discovery_AddItem( p_sd, p_input, luaL_checkstring( L, -1 ) );
lua_pop( L, 1 );
input_item_t **udata = (input_item_t **) input_item_t **udata = (input_item_t **)
lua_newuserdata( L, sizeof( input_item_t * ) ); lua_newuserdata( L, sizeof( input_item_t * ) );
*udata = p_input; *udata = p_input;
......
...@@ -329,8 +329,10 @@ sd.add_node( ... ): Add a node to the service discovery. ...@@ -329,8 +329,10 @@ sd.add_node( ... ): Add a node to the service discovery.
The node object has the following members: The node object has the following members:
.title: the node's name .title: the node's name
.arturl: the node's ArtURL (OPTIONAL) .arturl: the node's ArtURL (OPTIONAL)
.category: the node's category (OPTIONAL)
sd.add_item( ... ): Add an item to the service discovery. sd.add_item( ... ): Add an item to the service discovery.
The item object has the same members as the one in playlist.add(). The item object has the same members as the one in playlist.add() along with:
.category: the item's category (OPTIONAL)
Returns the input item. Returns the input item.
sd.remove_item( item ): remove the item. sd.remove_item( item ): remove the item.
......
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