mirror of
https://github.com/aicodix/dsp.git
synced 2026-04-27 14:30:36 +00:00
cool, ChunkSize can also be a special value
This commit is contained in:
parent
9ce8581088
commit
3ef2b53fbe
1 changed files with 8 additions and 6 deletions
14
wav.hh
14
wav.hh
|
|
@ -91,13 +91,15 @@ public:
|
|||
if (cmp4("data", Subchunk2ID))
|
||||
return;
|
||||
int Subchunk2Size = readLE(4);
|
||||
if (Subchunk2Size < 0)
|
||||
Subchunk2Size = 0;
|
||||
int overhead = bits_ == 32 ? 58 : 44;
|
||||
if (Subchunk2Size + overhead - 8 != ChunkSize)
|
||||
return;
|
||||
if (Subchunk1Size == 16)
|
||||
frames_ = Subchunk2Size / (bytes * channels_);
|
||||
if (Subchunk2Size <= 0 || ChunkSize <= 0) {
|
||||
frames_ = -1;
|
||||
} else {
|
||||
if (Subchunk2Size + overhead - 8 != ChunkSize)
|
||||
return;
|
||||
if (Subchunk1Size == 16)
|
||||
frames_ = Subchunk2Size / (bytes * channels_);
|
||||
}
|
||||
switch (bits_) {
|
||||
case 8:
|
||||
offset = 128;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue