input_stream: size==-1 means unknown size
Define the special value "-1" as "unknown size". Previously, there was no indicator for streams with unknown size, which might confuse some decoders.
This commit is contained in:
@@ -186,7 +186,7 @@ static void aac_parse_header(AacBuffer * b, float *length)
|
||||
if (length)
|
||||
*length = -1;
|
||||
|
||||
fileread = b->inStream->size;
|
||||
fileread = b->inStream->size >= 0 ? b->inStream->size : 0;
|
||||
|
||||
fillAacBuffer(b);
|
||||
|
||||
|
@@ -75,6 +75,9 @@ static flac_length_status flacLength(mpd_unused const flac_decoder * flacDec,
|
||||
{
|
||||
FlacData *data = (FlacData *) fdata;
|
||||
|
||||
if (data->inStream->size < 0)
|
||||
return flac_length_status_unsupported;
|
||||
|
||||
*length = (size_t) (data->inStream->size);
|
||||
|
||||
return flac_length_status_ok;
|
||||
|
@@ -92,6 +92,9 @@ static OggFLAC__SeekableStreamDecoderLengthStatus of_length_cb(mpd_unused const
|
||||
{
|
||||
FlacData *data = (FlacData *) fdata;
|
||||
|
||||
if (data->inStream->size < 0)
|
||||
return OggFLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR;
|
||||
|
||||
*length = (size_t) (data->inStream->size);
|
||||
|
||||
return OggFLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK;
|
||||
|
@@ -410,6 +410,9 @@ wavpack_input_push_back_byte(void *id, int c)
|
||||
static uint32_t
|
||||
wavpack_input_get_length(void *id)
|
||||
{
|
||||
if (wpin(id)->is->size < 0)
|
||||
return 0;
|
||||
|
||||
return wpin(id)->is->size;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user