Commit 88a3f058 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

aribcam: remove peek callback

parent d2b8c6dc
...@@ -99,8 +99,6 @@ struct stream_sys_t ...@@ -99,8 +99,6 @@ struct stream_sys_t
bool b_unitsizeset; bool b_unitsizeset;
}; };
static int Peek( stream_t *, const uint8_t **, unsigned int );
static const char * GetErrorMessage( const int i_error, static const char * GetErrorMessage( const int i_error,
const struct error_messages_s const *p_errors_messages ) const struct error_messages_s const *p_errors_messages )
{ {
...@@ -114,7 +112,7 @@ static const char * GetErrorMessage( const int i_error, ...@@ -114,7 +112,7 @@ static const char * GetErrorMessage( const int i_error,
return "unkown error"; return "unkown error";
} }
static size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread, bool b_peek ) static size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread )
{ {
stream_sys_t *p_sys = p_stream->p_sys; stream_sys_t *p_sys = p_stream->p_sys;
...@@ -129,8 +127,6 @@ static size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread, ...@@ -129,8 +127,6 @@ static size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread,
i_total += i_copy; i_total += i_copy;
p_data += i_copy; p_data += i_copy;
if ( !b_peek )
{
/* update block data pointer and release if no longer needed */ /* update block data pointer and release if no longer needed */
p_sys->remain.p_list->i_buffer -= i_copy; p_sys->remain.p_list->i_buffer -= i_copy;
p_sys->remain.p_list->p_buffer += i_copy; p_sys->remain.p_list->p_buffer += i_copy;
...@@ -143,9 +139,6 @@ static size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread, ...@@ -143,9 +139,6 @@ static size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread,
block_Release( p_prevhead ); block_Release( p_prevhead );
} }
} }
else
p_sys->remain.p_list = p_sys->remain.p_list->p_next;
}
return i_total; return i_total;
} }
...@@ -173,7 +166,7 @@ static void RemainFlush( stream_sys_t *p_sys ) ...@@ -173,7 +166,7 @@ static void RemainFlush( stream_sys_t *p_sys )
#define ALL_READY (UNIT_SIZE_READY|ECM_READY|PMT_READY) #define ALL_READY (UNIT_SIZE_READY|ECM_READY|PMT_READY)
static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b_peek ) static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread )
{ {
stream_sys_t *p_sys = p_stream->p_sys; stream_sys_t *p_sys = p_stream->p_sys;
ARIB_STD_B25_BUFFER getbuf = { NULL, 0 }; ARIB_STD_B25_BUFFER getbuf = { NULL, 0 };
...@@ -184,7 +177,7 @@ static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b ...@@ -184,7 +177,7 @@ static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b
return -1; return -1;
/* Use data from previous reads */ /* Use data from previous reads */
size_t i_fromremain = RemainRead( p_stream, p_dst, i_toread, b_peek ); size_t i_fromremain = RemainRead( p_stream, p_dst, i_toread );
i_toread -= i_fromremain; i_toread -= i_fromremain;
i_total_read += i_fromremain; i_total_read += i_fromremain;
...@@ -227,13 +220,6 @@ static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b ...@@ -227,13 +220,6 @@ static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b
if ( i_ret < 0 ) if ( i_ret < 0 )
return -1; return -1;
if ( b_peek )
{
/* put everything in remain */
RemainAdd( p_stream, getbuf.data, getbuf.size );
}
else
{
memcpy( p_dst, getbuf.data, __MIN(getbuf.size, i_toread) ); memcpy( p_dst, getbuf.data, __MIN(getbuf.size, i_toread) );
if ( getbuf.size > i_toread ) if ( getbuf.size > i_toread )
...@@ -241,7 +227,6 @@ static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b ...@@ -241,7 +227,6 @@ static int DecoderRead( stream_t *p_stream, uint8_t *p_dst, int i_toread, bool b
/* Hold remaining data for next call */ /* Hold remaining data for next call */
RemainAdd( p_stream, getbuf.data + i_toread, getbuf.size - i_toread ); RemainAdd( p_stream, getbuf.data + i_toread, getbuf.size - i_toread );
} }
}
i_total_read += __MIN(getbuf.size, i_toread); i_total_read += __MIN(getbuf.size, i_toread);
p_dst += __MIN(getbuf.size, i_toread); p_dst += __MIN(getbuf.size, i_toread);
...@@ -268,7 +253,7 @@ static int Read( stream_t *p_stream, void *p_buf, unsigned int i_toread ) ...@@ -268,7 +253,7 @@ static int Read( stream_t *p_stream, void *p_buf, unsigned int i_toread )
msg_Dbg( p_stream, "Set unit size to %u", i_toread ); msg_Dbg( p_stream, "Set unit size to %u", i_toread );
} }
int i_read = DecoderRead( p_stream, p_buf, i_toread, false ); int i_read = DecoderRead( p_stream, p_buf, i_toread );
if ( i_read < 0 ) if ( i_read < 0 )
return -1; return -1;
else else
...@@ -280,40 +265,6 @@ static int Read( stream_t *p_stream, void *p_buf, unsigned int i_toread ) ...@@ -280,40 +265,6 @@ static int Read( stream_t *p_stream, void *p_buf, unsigned int i_toread )
* *
*/ */
static int Peek( stream_t *p_stream, const uint8_t **pp_buf, unsigned int i_len )
{
stream_sys_t *p_sys = p_stream->p_sys;
i_len = __MAX(ARIB_STD_B25_TS_PROBING_MIN_DATA, i_len);
if ( i_len > p_sys->remain.i_size )
{
uint8_t *p_tmpbuf = malloc( i_len - p_sys->remain.i_size );
DecoderRead( p_stream, p_tmpbuf, i_len - p_sys->remain.i_size, true );
free( p_tmpbuf );
}
if ( !p_sys->remain.p_list )
{
assert(p_sys->remain.i_size == 0);
/* might not be enough data in the stream to allow returning data */
return 0;
}
if ( p_sys->remain.p_list->i_buffer < i_len )
{
p_sys->remain.p_list = block_ChainGather( p_sys->remain.p_list );
if ( !p_sys->remain.p_list )
{
p_sys->remain.i_size = 0;
return 0;
}
}
*pp_buf = p_sys->remain.p_list->p_buffer;
return __MIN(i_len, p_sys->remain.i_size);
}
static int Seek( stream_t *p_stream, uint64_t i_pos ) static int Seek( stream_t *p_stream, uint64_t i_pos )
{ {
int i_ret = stream_Seek( p_stream->p_source, i_pos ); int i_ret = stream_Seek( p_stream->p_source, i_pos );
...@@ -415,7 +366,6 @@ static int Open( vlc_object_t *p_object ) ...@@ -415,7 +366,6 @@ static int Open( vlc_object_t *p_object )
p_sys->i_pos = stream_Tell( p_stream->p_source ); p_sys->i_pos = stream_Tell( p_stream->p_source );
p_stream->pf_read = Read; p_stream->pf_read = Read;
p_stream->pf_peek = Peek;
p_stream->pf_control = Control; p_stream->pf_control = Control;
return VLC_SUCCESS; return VLC_SUCCESS;
......
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