/* Load Lua libraries */
luaL_openlibs( L ); /* FIXME: Don't open all the libs? */
+ vlclua_set_this( L, p_demux );
luaL_register( L, "vlc", p_reg );
luaopen_msg( L );
luaopen_strings( L );
luaopen_stream( L );
luaopen_xml( L );
luaopen_md5( L );
- lua_pushlightuserdata( L, p_demux );
- lua_setfield( L, -2, "private" );
- lua_pushstring( L, p_demux->psz_path );
+ lua_pushstring( L, p_demux->psz_location );
lua_setfield( L, -2, "path" );
lua_pushstring( L, p_demux->psz_access );
lua_setfield( L, -2, "access" );
if( !lua_isfunction( L, -1 ) )
{
- msg_Warn( p_demux, "Error while runing script %s, "
+ msg_Warn( p_demux, "Error while running script %s, "
"function probe() not found", psz_filename );
goto error;
}
if( lua_pcall( L, 0, 1, 0 ) )
{
- msg_Warn( p_demux, "Error while runing script %s, "
+ msg_Warn( p_demux, "Error while running script %s, "
"function probe(): %s", psz_filename,
lua_tostring( L, lua_gettop( L ) ) );
goto error;
demux_t *p_demux = (demux_t *)p_this;
int ret;
- p_demux->p_sys = (demux_sys_t*)malloc( sizeof( demux_sys_t ) );
+ p_demux->p_sys = calloc( 1, sizeof( demux_sys_t ) );
if( !p_demux->p_sys )
- {
return VLC_ENOMEM;
- }
-
- p_demux->p_sys->psz_filename = NULL;
p_demux->pf_control = Control;
p_demux->pf_demux = Demux;
if( !lua_isfunction( L, -1 ) )
{
- msg_Warn( p_demux, "Error while runing script %s, "
+ msg_Warn( p_demux, "Error while running script %s, "
"function parse() not found", psz_filename );
+ vlc_object_release( p_input_thread );
return VLC_EGENERIC;
}
if( lua_pcall( L, 0, 1, 0 ) )
{
- msg_Warn( p_demux, "Error while runing script %s, "
+ msg_Warn( p_demux, "Error while running script %s, "
"function parse(): %s", psz_filename,
lua_tostring( L, lua_gettop( L ) ) );
+ vlc_object_release( p_input_thread );
return VLC_EGENERIC;
}