/*****************************************************************************
* block_bytestream_t management
*****************************************************************************/
+LIBVLC_USED
static inline block_bytestream_t block_BytestreamInit( void )
{
block_bytestream_t bytestream;
p_bytestream->p_chain = p_bytestream->p_block = NULL;
}
+/**
+ * It flush all data (read and unread) from a block_bytestream_t.
+ */
+static inline void block_BytestreamEmpty( block_bytestream_t *p_bytestream )
+{
+ block_BytestreamRelease( p_bytestream );
+
+ *p_bytestream = block_BytestreamInit();
+}
+
+/**
+ * It flushes all already read data from a block_bytestream_t.
+ */
static inline void block_BytestreamFlush( block_bytestream_t *p_bytestream )
{
while( p_bytestream->p_chain != p_bytestream->p_block )
if( !p_bytestream->p_block ) p_bytestream->p_block = p_block;
}
+LIBVLC_USED
static inline block_t *block_BytestreamPop( block_bytestream_t *p_bytestream )
{
block_t *p_block;
static inline int block_FindStartcodeFromOffset(
block_bytestream_t *p_bytestream, size_t *pi_offset,
- uint8_t *p_startcode, int i_startcode_length )
+ const uint8_t *p_startcode, int i_startcode_length )
{
block_t *p_block, *p_block_backup = 0;
int i_size = 0;