DecoderAPI: add function decoder_read_full()

Move code from the "mad" plugin.
This commit is contained in:
Max Kellermann
2013-12-14 12:43:06 +01:00
parent bf7417981f
commit 0759421d11
5 changed files with 67 additions and 12 deletions

View File

@@ -292,6 +292,24 @@ decoder_read(Decoder *decoder,
return nbytes;
}
bool
decoder_read_full(Decoder *decoder, InputStream &is,
void *_buffer, size_t size)
{
uint8_t *buffer = (uint8_t *)_buffer;
while (size > 0) {
size_t nbytes = decoder_read(decoder, is, buffer, size);
if (nbytes == 0)
return false;
buffer += nbytes;
size -= nbytes;
}
return true;
}
bool
decoder_skip(Decoder *decoder, InputStream &is, size_t size)
{