DecoderBuffer: add method _clear()
This commit is contained in:
parent
e2a08fa824
commit
eac9fabd48
@ -82,6 +82,12 @@ decoder_buffer_is_full(const DecoderBuffer *buffer)
|
||||
return buffer->consumed == 0 && buffer->length == buffer->size;
|
||||
}
|
||||
|
||||
void
|
||||
decoder_buffer_clear(DecoderBuffer *buffer)
|
||||
{
|
||||
buffer->length = buffer->consumed = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
decoder_buffer_shift(DecoderBuffer *buffer)
|
||||
{
|
||||
|
@ -56,6 +56,9 @@ decoder_buffer_is_empty(const DecoderBuffer *buffer);
|
||||
bool
|
||||
decoder_buffer_is_full(const DecoderBuffer *buffer);
|
||||
|
||||
void
|
||||
decoder_buffer_clear(DecoderBuffer *buffer);
|
||||
|
||||
/**
|
||||
* Read data from the input_stream and append it to the buffer.
|
||||
*
|
||||
|
@ -84,7 +84,7 @@ adts_find_frame(DecoderBuffer *buffer)
|
||||
const uint8_t *p = (const uint8_t *)memchr(data, 0xff, length);
|
||||
if (p == nullptr) {
|
||||
/* no marker - discard the buffer */
|
||||
decoder_buffer_consume(buffer, length);
|
||||
decoder_buffer_clear(buffer);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -111,10 +111,7 @@ adts_find_frame(DecoderBuffer *buffer)
|
||||
/* not enough data; discard this frame
|
||||
to prevent a possible buffer
|
||||
overflow */
|
||||
data = (const uint8_t *)
|
||||
decoder_buffer_read(buffer, &length);
|
||||
if (data != nullptr)
|
||||
decoder_buffer_consume(buffer, length);
|
||||
decoder_buffer_clear(buffer);
|
||||
}
|
||||
|
||||
continue;
|
||||
@ -196,9 +193,7 @@ faad_song_duration(DecoderBuffer *buffer, InputStream &is)
|
||||
|
||||
is.LockSeek(tagsize, SEEK_SET, IgnoreError());
|
||||
|
||||
data = (const uint8_t *)decoder_buffer_read(buffer, &length);
|
||||
if (data != nullptr)
|
||||
decoder_buffer_consume(buffer, length);
|
||||
decoder_buffer_clear(buffer);
|
||||
decoder_buffer_fill(buffer);
|
||||
|
||||
return song_length;
|
||||
|
Loading…
Reference in New Issue
Block a user