mirror of
https://github.com/clangen/musikcube.git
synced 2024-10-02 13:02:35 +00:00
parent
f38ab09ec6
commit
332e8c25d1
@ -35,7 +35,8 @@ namespace
|
|||||||
enum WaveFormat
|
enum WaveFormat
|
||||||
{
|
{
|
||||||
FORMAT_UNKNOWN = 0x0000,
|
FORMAT_UNKNOWN = 0x0000,
|
||||||
FORMAT_PCM = 0x0001
|
FORMAT_PCM = 0x0001,
|
||||||
|
FORMAT_IEEE_FLOAT = 0x0003
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,7 +184,7 @@ void RIFF::WAV::Properties::read(File *file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
d->format = data.toShort(0, false);
|
d->format = data.toShort(0, false);
|
||||||
if(d->format != FORMAT_PCM && totalSamples == 0) {
|
if(d->format != FORMAT_PCM && d->format != FORMAT_IEEE_FLOAT && totalSamples == 0) {
|
||||||
debug("RIFF::WAV::Properties::read() - Non-PCM format, but 'fact' chunk not found.");
|
debug("RIFF::WAV::Properties::read() - Non-PCM format, but 'fact' chunk not found.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -192,7 +193,7 @@ void RIFF::WAV::Properties::read(File *file)
|
|||||||
d->sampleRate = data.toUInt(4, false);
|
d->sampleRate = data.toUInt(4, false);
|
||||||
d->bitsPerSample = data.toShort(14, false);
|
d->bitsPerSample = data.toShort(14, false);
|
||||||
|
|
||||||
if(d->format != FORMAT_PCM)
|
if (d->format != FORMAT_PCM && !(d->format == FORMAT_IEEE_FLOAT && totalSamples == 0))
|
||||||
d->sampleFrames = totalSamples;
|
d->sampleFrames = totalSamples;
|
||||||
else if(d->channels > 0 && d->bitsPerSample > 0)
|
else if(d->channels > 0 && d->bitsPerSample > 0)
|
||||||
d->sampleFrames = streamLength / (d->channels * ((d->bitsPerSample + 7) / 8));
|
d->sampleFrames = streamLength / (d->channels * ((d->bitsPerSample + 7) / 8));
|
||||||
|
Loading…
Reference in New Issue
Block a user