void FLAC::Properties::read()
{
+ if(d->data.size() < 18) {
+ debug("FLAC::Properties::read() - FLAC properties must contain at least 18 bytes.");
+ return;
+ }
+
int pos = 0;
// Minimum block size (in samples)
d->channels = ((flags >> 9) & 7) + 1;
d->sampleWidth = ((flags >> 4) & 31) + 1;
- // The last 4 bit are the most significant 4 bits for the 36bit
- // streamlength in samples. (Audio files measured in days)
+ // The last 4 bits are the most significant 4 bits for the 36 bit
+ // stream length in samples. (Audio files measured in days)
- uint highlength = (((flags & 0xf) << 28) / d->sampleRate) << 4;
+ uint highLength = (((flags & 0xf) << 28) / d->sampleRate) << 4;
pos += 4;
- d->length = (d->data.mid(pos, 4).toUInt(true)) / d->sampleRate + highlength;
+ d->length = (d->data.mid(pos, 4).toUInt(true)) / d->sampleRate + highLength;
pos += 4;
// Uncompressed bitrate:
// Real bitrate:
- if (d->length)
- d->bitrate = ((d->streamLength*8L) / d->length)/1000;
+ if(d->length)
+ d->bitrate = ((d->streamLength * 8L) / d->length) / 1000;
else
d->bitrate = 0;
* Create an instance of FLAC::Properties with the data read from the
* ByteVector \a data.
*/
+ // BIC: switch to const reference
Properties(ByteVector data, long streamLength, ReadStyle style = Average);
/*!
* Create an instance of FLAC::Properties with the data read from the
* FLAC::File \a file.
*/
- Properties(File *file, ReadStyle style = Average); // BIC: remove
+ // BIC: remove
+ Properties(File *file, ReadStyle style = Average);
/*!
* Destroys this FLAC::Properties instance.