line |
true |
false |
branch |
31
|
0 |
11 |
if ( !_check_buf(infile, &buf, 12, WAV_BLOCK_SIZE) ) { |
36
|
8 |
3 |
if ( !strncmp( (char *)buffer_ptr(&buf), "RIFF", 4 ) ) { |
43
|
0 |
8 |
if ( strncmp( (char *)buffer_ptr(&buf), "WAVE", 4 ) ) { |
55
|
3 |
0 |
else if ( !strncmp( (char *)buffer_ptr(&buf), "FORM", 4 ) ) { |
65
|
3 |
0 |
if ( bptr[0] == 'A' && bptr[1] == 'I' && bptr[2] == 'F' && (bptr[3] == 'F' || bptr[3] == 'C') ) { |
|
3 |
0 |
if ( bptr[0] == 'A' && bptr[1] == 'I' && bptr[2] == 'F' && (bptr[3] == 'F' || bptr[3] == 'C') ) { |
|
3 |
0 |
if ( bptr[0] == 'A' && bptr[1] == 'I' && bptr[2] == 'F' && (bptr[3] == 'F' || bptr[3] == 'C') ) { |
|
1 |
2 |
if ( bptr[0] == 'A' && bptr[1] == 'I' && bptr[2] == 'F' && (bptr[3] == 'F' || bptr[3] == 'C') ) { |
|
1 |
0 |
if ( bptr[0] == 'A' && bptr[1] == 'I' && bptr[2] == 'F' && (bptr[3] == 'F' || bptr[3] == 'C') ) { |
87
|
0 |
11 |
if (err) return err; |
97
|
29 |
5 |
while ( offset < file_size - 8 ) { |
102
|
0 |
29 |
if ( !_check_buf(infile, buf, 8, WAV_BLOCK_SIZE) ) { |
113
|
3 |
26 |
if ( chunk_size % 2 ) { |
123
|
8 |
21 |
if ( !strcmp( chunk_id, "data" ) ) { |
130
|
2 |
6 |
if ( !my_hv_fetch( info, "song_length_ms" ) ) { |
132
|
2 |
0 |
if (bitrate != NULL) { |
133
|
2 |
0 |
my_hv_store( info, "song_length_ms", newSVuv( (chunk_size / (SvIV(*bitrate) / 8.)) * 1000 ) ); |
139
|
2 |
6 |
if (chunk_size > file_size - offset) { |
145
|
4 |
2 |
if ( file_size > offset + chunk_size ) { |
151
|
20 |
1 |
else if ( !strcmp( chunk_id, "id3 " ) || !strcmp( chunk_id, "ID3 " ) || !strcmp( chunk_id, "ID32" ) ) { |
|
20 |
0 |
else if ( !strcmp( chunk_id, "id3 " ) || !strcmp( chunk_id, "ID3 " ) || !strcmp( chunk_id, "ID32" ) ) { |
|
0 |
20 |
else if ( !strcmp( chunk_id, "id3 " ) || !strcmp( chunk_id, "ID3 " ) || !strcmp( chunk_id, "ID32" ) ) { |
155
|
1 |
0 |
if ( |
156
|
1 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
|
1 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
|
1 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
157
|
1 |
0 |
bptr[3] < 0xff && bptr[4] < 0xff && |
|
1 |
0 |
bptr[3] < 0xff && bptr[4] < 0xff && |
158
|
1 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
|
1 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
|
1 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
170
|
1 |
19 |
if (chunk_size > file_size - offset) { |
176
|
0 |
19 |
if ( !_check_buf(infile, buf, chunk_size, WAV_BLOCK_SIZE) ) { |
180
|
8 |
11 |
if ( !strcmp( chunk_id, "fmt " ) ) { |
183
|
2 |
9 |
else if ( !strcmp( chunk_id, "LIST" ) ) { |
186
|
3 |
6 |
else if ( !strcmp( chunk_id, "PEAK" ) ) { |
189
|
6 |
0 |
else if ( !strcmp( chunk_id, "fact" ) ) { |
192
|
6 |
0 |
if ( chunk_size == 4 ) { |
195
|
6 |
0 |
if (samplerate != NULL) { |
198
|
6 |
0 |
my_hv_store( info, "song_length_ms", newSVuv( ((uint64_t)num_samples * 1000) / SvIV(*samplerate) ) ); |
207
|
0 |
0 |
if ( |
209
|
0 |
0 |
|| !strcmp(chunk_id, "otom") // Wavosaur? |
210
|
0 |
0 |
|| !strcmp(chunk_id, "PAD ") // Padding |
247
|
3 |
5 |
if ( chunk_size > 16 ) { |
251
|
3 |
0 |
if (extra_len && chunk_size > 18) { |
|
2 |
1 |
if (extra_len && chunk_size > 18) { |
258
|
8 |
0 |
if (channels <= 2 && bps == 16) { |
|
1 |
7 |
if (channels <= 2 && bps == 16) { |
259
|
0 |
1 |
if (samplerate == 44100 || samplerate == 48000) |
|
0 |
0 |
if (samplerate == 44100 || samplerate == 48000) |
261
|
0 |
0 |
else if (samplerate >= 8000 && samplerate <= 32000) |
|
0 |
0 |
else if (samplerate >= 8000 && samplerate <= 32000) |
278
|
0 |
2 |
if ( !strcmp( type_id, "adtl" ) ) { |
283
|
2 |
0 |
else if ( !strcmp( type_id, "INFO" ) ) { |
284
|
11 |
2 |
while ( pos < chunk_size ) { |
299
|
0 |
11 |
if ( len > chunk_size - pos ) { |
308
|
21 |
0 |
while ( len && bptr[len - 1] == '\0' ) { |
|
10 |
11 |
while ( len && bptr[len - 1] == '\0' ) { |
322
|
0 |
11 |
if ( (len + nulls) % 2 ) { |
341
|
4 |
0 |
if ( entry != NULL ) { |
342
|
4 |
0 |
channels = SvIV(*entry); |
348
|
8 |
4 |
while ( channels-- ) { |
351
|
2 |
6 |
my_hv_store( peak, "value", newSVnv( big_endian ? buffer_get_float32(buf) : buffer_get_float32_le(buf) ) ); |
352
|
2 |
6 |
my_hv_store( peak, "position", newSVuv( big_endian ? buffer_get_int(buf) : buffer_get_int_le(buf) ) ); |
365
|
9 |
2 |
while ( offset < file_size - 8 ) { |
370
|
0 |
9 |
if ( !_check_buf(infile, buf, 8, WAV_BLOCK_SIZE) ) { |
381
|
0 |
9 |
if ( chunk_size % 2 ) { |
391
|
3 |
6 |
if ( !strcmp( chunk_id, "SSND" ) ) { |
394
|
0 |
3 |
if ( !_check_buf(infile, buf, 8, WAV_BLOCK_SIZE) ) { |
407
|
2 |
1 |
if ( file_size > offset + chunk_size ) { |
413
|
6 |
0 |
else if ( !strcmp( chunk_id, "id3 " ) || !strcmp( chunk_id, "ID3 " ) || !strcmp( chunk_id, "ID32" ) ) { |
|
4 |
2 |
else if ( !strcmp( chunk_id, "id3 " ) || !strcmp( chunk_id, "ID3 " ) || !strcmp( chunk_id, "ID32" ) ) { |
|
0 |
4 |
else if ( !strcmp( chunk_id, "id3 " ) || !strcmp( chunk_id, "ID3 " ) || !strcmp( chunk_id, "ID32" ) ) { |
417
|
2 |
0 |
if ( |
418
|
2 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
|
2 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
|
2 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
419
|
2 |
0 |
bptr[3] < 0xff && bptr[4] < 0xff && |
|
2 |
0 |
bptr[3] < 0xff && bptr[4] < 0xff && |
420
|
2 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
|
2 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
|
2 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
427
|
1 |
1 |
if (chunk_size < 0 || offset + chunk_size > file_size) { |
|
1 |
0 |
if (chunk_size < 0 || offset + chunk_size > file_size) { |
438
|
0 |
4 |
if (chunk_size > file_size - offset) { |
444
|
0 |
4 |
if ( !_check_buf(infile, buf, chunk_size, WAV_BLOCK_SIZE) ) { |
448
|
3 |
1 |
if ( !strcmp( chunk_id, "COMM" ) ) { |
451
|
1 |
0 |
else if ( !strcmp( chunk_id, "PEAK" ) ) { |
480
|
1 |
2 |
if (chunk_size > 18) { |
490
|
3 |
0 |
if (channels <= 2 && bits_per_sample == 16) { |
|
2 |
1 |
if (channels <= 2 && bits_per_sample == 16) { |
491
|
0 |
2 |
if (samplerate == 44100 || samplerate == 48000) |
|
0 |
0 |
if (samplerate == 44100 || samplerate == 48000) |
493
|
0 |
0 |
else if (samplerate >= 8000 && samplerate <= 32000) |
|
0 |
0 |
else if (samplerate >= 8000 && samplerate <= 32000) |