[vlc-devel] [PATCH] lua: Expose media tracks through lua bindings
Pierre Ynard
linkfanel at yahoo.fr
Sun Jan 1 02:49:28 CET 2017
Happy New Year,
Can you explain what the purpose of and use cases for this new API are,
how it is not redundant with vlclua_input_item_info(), etc...? Also
please patch the API documentation too.
> + for ( int i = 0; i < p_item->i_es; ++i )
> + {
> + lua_rawseti( L, -2, i );
> + }
I think lua table are indexed starting from 1 instead of 0?...
What's the reason for the choice of exposed fields? Limited
implementation, avoiding bloat...? Does the ES ID really need to be
exposed to lua scripts?
> +void luaopen_input_constants( lua_State *L )
> +{
> + lua_newtable(L);
> + lua_pushinteger( L, VIDEO_ES );
> + lua_setfield( L, -2, "video" );
> + lua_pushinteger( L, AUDIO_ES );
> + lua_setfield( L, -2, "audio" );
> + lua_pushinteger( L, SPU_ES );
> + lua_setfield( L, -2, "spu" );
> + lua_pushinteger( L, UNKNOWN_ES );
> + lua_setfield( L, -2, "unknown" );
> + lua_setfield( L, -2, "tracks" );
> +}
That looks over-complicated, bloats the variable namespace, and the
lua code I can imagine to use it looks kinda awkward. I think it would
probably be better to expose the type as a string field in the track
table, or maybe split the tracks into groups indexed by type, or
something else.
--
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."
More information about the vlc-devel
mailing list