demux_t *p_demux = (demux_t *)vlclua_get_this( L );
int n = luaL_checkint( L, 1 );
const uint8_t *p_peek;
+
int i_peek = stream_Peek( p_demux->s, &p_peek, n );
- lua_pushlstring( L, (const char *)p_peek, i_peek );
+ if( i_peek > 0 )
+ lua_pushlstring( L, (const char *)p_peek, i_peek );
+ else
+ lua_pushnil( L );
return 1;
}
const uint8_t *p_read;
int n = luaL_checkint( L, 1 );
int i_read = stream_Peek( p_demux->s, &p_read, n );
- lua_pushlstring( L, (const char *)p_read, i_read );
- int i_seek = stream_Read( p_demux->s, NULL, i_read );
- assert(i_read==i_seek);
+
+ if( i_read > 0 )
+ {
+ lua_pushlstring( L, (const char *)p_read, i_read );
+ int i_seek = stream_Read( p_demux->s, NULL, i_read );
+ assert( i_read == i_seek );
+ }
+ else
+ lua_pushnil( L );
+
return 1;
}