livedotcom.cpp: update the StreamRead function to non-deprecated api, new

api gives proper detection for too small buffer. Thanks to Ross for pointing
this out.
parent 0ae64fba
...@@ -637,7 +637,7 @@ static void Close( vlc_object_t *p_this ) ...@@ -637,7 +637,7 @@ static void Close( vlc_object_t *p_this )
} }
static void StreamRead( void *p_private, unsigned int i_size, struct timeval pts ); static void StreamRead( void *p_private, unsigned int i_size, unsigned int i_truncated_bytes, struct timeval pts, unsigned int i_duration );
static void StreamClose( void *p_private ); static void StreamClose( void *p_private );
static void TaskInterrupt( void *p_private ); static void TaskInterrupt( void *p_private );
...@@ -857,7 +857,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) ...@@ -857,7 +857,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
/***************************************************************************** /*****************************************************************************
* *
*****************************************************************************/ *****************************************************************************/
static void StreamRead( void *p_private, unsigned int i_size, struct timeval pts ) static void StreamRead( void *p_private, unsigned int i_size, unsigned int i_truncated_bytes, struct timeval pts, unsigned int duration )
{ {
live_track_t *tk = (live_track_t*)p_private; live_track_t *tk = (live_track_t*)p_private;
demux_t *p_demux = tk->p_demux; demux_t *p_demux = tk->p_demux;
...@@ -901,9 +901,10 @@ static void StreamRead( void *p_private, unsigned int i_size, struct timeval pts ...@@ -901,9 +901,10 @@ static void StreamRead( void *p_private, unsigned int i_size, struct timeval pts
/* grow buffer if it looks like buffer is too small, but don't eat /* grow buffer if it looks like buffer is too small, but don't eat
* up all the memory on strange streams */ * up all the memory on strange streams */
if( tk->i_buffer < i_size + 1500 && tk->i_buffer < 2000000 ) if( i_truncated_bytes > 0 && tk->i_buffer < 2000000 )
{ {
void *p_tmp; void *p_tmp;
msg_Dbg( p_demux, "lost %d bytes", i_truncated_bytes );
msg_Dbg( p_demux, "increasing buffer size to %d", tk->i_buffer * 2 ); msg_Dbg( p_demux, "increasing buffer size to %d", tk->i_buffer * 2 );
tk->i_buffer *= 2; tk->i_buffer *= 2;
p_tmp = realloc( tk->p_buffer, tk->i_buffer ); p_tmp = realloc( tk->p_buffer, tk->i_buffer );
......
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