line |
true |
false |
branch |
54
|
0 |
15 |
if ( !_check_buf(infile, flac->buf, 10, FLAC_BLOCK_SIZE) ) { |
61
|
4 |
11 |
if ( |
62
|
4 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
|
4 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
|
4 |
0 |
(bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') && |
63
|
4 |
0 |
bptr[3] < 0xff && bptr[4] < 0xff && |
|
4 |
0 |
bptr[3] < 0xff && bptr[4] < 0xff && |
64
|
4 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
|
4 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
|
4 |
0 |
bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80 |
69
|
0 |
4 |
if (bptr[5] & 0x10) { |
79
|
1 |
3 |
if ( id3_size < buffer_len(flac->buf) ) { |
85
|
0 |
3 |
if (PerlIO_seek(infile, id3_size, SEEK_SET) < 0) { |
91
|
0 |
4 |
if ( !_check_buf(infile, flac->buf, 4, FLAC_BLOCK_SIZE) ) { |
99
|
0 |
15 |
if ( memcmp(bptr, "fLaC", 4) != 0 ) { |
110
|
57 |
14 |
while ( !done ) { |
114
|
0 |
57 |
if ( !_check_buf(infile, flac->buf, 4, FLAC_BLOCK_SIZE) ) { |
121
|
14 |
43 |
if ( bptr[0] & 0x80 ) { |
133
|
1 |
56 |
if ( len > flac->file_size - flac->audio_offset ) { |
140
|
53 |
3 |
if ( type != FLAC_TYPE_PICTURE && type != FLAC_TYPE_PADDING ) { |
|
40 |
13 |
if ( type != FLAC_TYPE_PICTURE && type != FLAC_TYPE_PADDING ) { |
141
|
0 |
40 |
if ( !_check_buf(infile, flac->buf, len, len) ) { |
155
|
7 |
6 |
if ( !flac->seeking ) { |
166
|
1 |
1 |
if ( !flac->seeking ) { |
176
|
3 |
5 |
if (flac->seeking) { |
186
|
1 |
1 |
if ( !flac->seeking ) { |
196
|
2 |
1 |
if ( !flac->seeking ) { |
197
|
0 |
2 |
if ( !_flac_parse_picture(flac) ) { |
214
|
14 |
0 |
song_length_ms = SvIV( *( my_hv_fetch(info, "song_length_ms") ) ); |
216
|
13 |
1 |
if (song_length_ms > 0) { |
220
|
1 |
0 |
if (!seeking) { |
231
|
1 |
0 |
if ( _flac_first_last_sample(flac, flac->audio_offset, &frame_offset, &first_sample, &tmp, 0) ) { |
237
|
1 |
0 |
if ( _flac_first_last_sample(flac, flac->file_size - flac->max_framesize, &frame_offset, &tmp, &last_sample, 0) ) { |
238
|
1 |
0 |
if (flac->samplerate) { |
260
|
4 |
10 |
if (id3_size && !seeking) { |
|
2 |
2 |
if (id3_size && !seeking) { |
291
|
7 |
0 |
if ( !flac->samplerate || !flac->total_samples ) { |
|
7 |
0 |
if ( !flac->samplerate || !flac->total_samples ) { |
300
|
7 |
0 |
if (flac->min_blocksize == flac->max_blocksize && flac->min_blocksize > 0) |
|
7 |
0 |
if (flac->min_blocksize == flac->max_blocksize && flac->min_blocksize > 0) |
302
|
0 |
0 |
else if (flac->max_framesize > 0) |
314
|
3 |
4 |
if (flac->num_seekpoints) { |
325
|
14 |
0 |
for (i = flac->num_seekpoints - 1; i >= 0; i--) { |
326
|
11 |
3 |
if ( |
328
|
11 |
0 |
&& flac->seekpoints[i].frame_samples > 0 |
329
|
11 |
0 |
&& (flac->total_samples <= 0 || flac->seekpoints[i].sample_number < flac->total_samples) |
|
11 |
0 |
&& (flac->total_samples <= 0 || flac->seekpoints[i].sample_number < flac->total_samples) |
330
|
3 |
8 |
&& flac->seekpoints[i].sample_number <= target_sample |
335
|
3 |
0 |
if (i >= 0) { |
345
|
25 |
1 |
for (i = 0; i < flac->num_seekpoints; i++) { |
346
|
24 |
1 |
if ( |
348
|
24 |
0 |
&& flac->seekpoints[i].frame_samples > 0 |
349
|
24 |
0 |
&& (flac->total_samples <= 0 || flac->seekpoints[i].sample_number < flac->total_samples) |
|
24 |
0 |
&& (flac->total_samples <= 0 || flac->seekpoints[i].sample_number < flac->total_samples) |
350
|
2 |
22 |
&& flac->seekpoints[i].sample_number > target_sample |
355
|
2 |
1 |
if (i < flac->num_seekpoints) { |
364
|
3 |
0 |
if (new_upper_bound >= new_lower_bound) { |
372
|
0 |
7 |
if (upper_bound_sample == lower_bound_sample) |
375
|
106 |
1 |
while (max_tries--) { |
381
|
106 |
0 |
if (lower_bound_sample >= upper_bound_sample || lower_bound > upper_bound) { |
|
0 |
106 |
if (lower_bound_sample >= upper_bound_sample || lower_bound > upper_bound) { |
396
|
106 |
0 |
if (pos < (int64_t)lower_bound) |
399
|
0 |
106 |
if (pos >= (int64_t)upper_bound) |
407
|
0 |
106 |
if (ret < 0) { |
411
|
0 |
106 |
else if (ret == 0) { |
422
|
0 |
106 |
if (this_frame_sample < lower_bound_sample) { |
432
|
6 |
100 |
if (target_sample >= this_frame_sample && target_sample < last_sample) { |
|
6 |
0 |
if (target_sample >= this_frame_sample && target_sample < last_sample) { |
438
|
100 |
0 |
if (target_sample < this_frame_sample) { |
467
|
7 |
0 |
if (flac->scratch->alloc) |
490
|
0 |
108 |
if (seek_offset > flac->file_size - FLAC_FRAME_MAX_HEADER) { |
496
|
0 |
108 |
if ( (PerlIO_seek(flac->infile, seek_offset, SEEK_SET)) == -1 ) { |
502
|
0 |
108 |
if ( !_check_buf(flac->infile, flac->scratch, FLAC_FRAME_MAX_HEADER, flac->max_framesize) ) { |
511
|
194496 |
0 |
for (i = 0; i != buf_size - FLAC_HEADER_LEN; i++) { |
513
|
3201 |
191295 |
if ( bptr[i] != 0xFF |
514
|
266 |
2935 |
|| (bptr[i+1] >> 2) != 0x3E |
515
|
166 |
100 |
|| bptr[i+1] & 0x02 |
516
|
8 |
158 |
|| bptr[i+3] & 0x01 |
525
|
2 |
156 |
if ( !_flac_read_frame_header(flac, &bptr[i], first_sample, last_sample) ) { |
536
|
54 |
102 |
if (target_sample) { |
537
|
54 |
0 |
if (target_sample >= *first_sample && target_sample < *last_sample) { |
|
48 |
6 |
if (target_sample >= *first_sample && target_sample < *last_sample) { |
541
|
0 |
48 |
else if (target_sample < *first_sample) { |
553
|
0 |
108 |
if (ret <= 0) |
603
|
156 |
2 |
if ( buf[1] & 0x01 || flac->min_blocksize != flac->max_blocksize ) { |
|
0 |
156 |
if ( buf[1] & 0x01 || flac->min_blocksize != flac->max_blocksize ) { |
606
|
0 |
2 |
if ( !_flac_read_utf8_uint64(buf, &xx, &raw_header_len) ) |
609
|
2 |
0 |
if ( xx == 0xFFFFFFFFFFFFFFFFLL ) |
618
|
0 |
156 |
if ( !_flac_read_utf8_uint32(buf, &x, &raw_header_len) ) |
621
|
0 |
156 |
if ( x == 0xFFFFFFFF ) |
629
|
1 |
155 |
if (blocksize_hint) { |
632
|
1 |
0 |
if (blocksize_hint == 7) { |
642
|
0 |
156 |
if (samplerate_hint) { |
645
|
0 |
0 |
if (samplerate_hint != 12) { |
652
|
0 |
156 |
if ( _flac_crc8(buf, raw_header_len) != crc8 ) { |
658
|
152 |
4 |
if (frame_number) { |
692
|
1 |
14 |
if ( !flac->max_framesize ) { |
711
|
225 |
15 |
for (i = 1; i < 16; i++) { |
730
|
0 |
1 |
if ( my_hv_exists(flac->tags, "APPLICATION") ) { |
733
|
0 |
0 |
if (entry != NULL) { |
757
|
0 |
3 |
New(0, |
763
|
33 |
3 |
for (i = 0; i < count; i++) { |
789
|
0 |
1 |
if (bptr[0]) { |
804
|
15 |
1 |
while (num_tracks--) { |
826
|
15 |
0 |
if (tracknum > 0 && tracknum < 100) { |
|
14 |
1 |
if (tracknum > 0 && tracknum < 100) { |
827
|
14 |
0 |
av_push( cue, newSVpvf(" TRACK %02u %s\n", |
831
|
1 |
13 |
if (pre) { |
835
|
1 |
13 |
if (isrc[0]) { |
840
|
18 |
15 |
while (num_index--) { |
851
|
18 |
0 |
if (is_cd) { |
872
|
1 |
14 |
if (tracknum == 170) { |
895
|
0 |
2 |
if ( !picture ) { |
902
|
1 |
1 |
if ( _env_true("AUDIO_SCAN_NO_ARTWORK") ) { |
912
|
0 |
2 |
if ( my_hv_exists(flac->tags, "ALLPICTURES") ) { |
914
|
0 |
0 |
if (entry != NULL) { |
972
|
782 |
156 |
while(len--) |
987
|
0 |
2 |
if(!(x & 0x80)) { /* 0xxxxxxx */ |
991
|
2 |
0 |
else if(x & 0xC0 && !(x & 0x20)) { /* 110xxxxx */ |
|
2 |
0 |
else if(x & 0xC0 && !(x & 0x20)) { /* 110xxxxx */ |
995
|
0 |
0 |
else if(x & 0xE0 && !(x & 0x10)) { /* 1110xxxx */ |
|
0 |
0 |
else if(x & 0xE0 && !(x & 0x10)) { /* 1110xxxx */ |
999
|
0 |
0 |
else if(x & 0xF0 && !(x & 0x08)) { /* 11110xxx */ |
|
0 |
0 |
else if(x & 0xF0 && !(x & 0x08)) { /* 11110xxx */ |
1003
|
0 |
0 |
else if(x & 0xF8 && !(x & 0x04)) { /* 111110xx */ |
|
0 |
0 |
else if(x & 0xF8 && !(x & 0x04)) { /* 111110xx */ |
1007
|
0 |
0 |
else if(x & 0xFC && !(x & 0x02)) { /* 1111110x */ |
|
0 |
0 |
else if(x & 0xFC && !(x & 0x02)) { /* 1111110x */ |
1011
|
0 |
0 |
else if(x & 0xFE && !(x & 0x01)) { /* 11111110 */ |
|
0 |
0 |
else if(x & 0xFE && !(x & 0x01)) { /* 11111110 */ |
1020
|
2 |
0 |
for( ; i; i--) { |
1022
|
0 |
2 |
if(!(x & 0x80) || (x & 0x40)) { /* 10xxxxxx */ |
|
0 |
0 |
if(!(x & 0x80) || (x & 0x40)) { /* 10xxxxxx */ |
1042
|
156 |
0 |
if(!(x & 0x80)) { /* 0xxxxxxx */ |
1046
|
0 |
0 |
else if(x & 0xC0 && !(x & 0x20)) { /* 110xxxxx */ |
|
0 |
0 |
else if(x & 0xC0 && !(x & 0x20)) { /* 110xxxxx */ |
1050
|
0 |
0 |
else if(x & 0xE0 && !(x & 0x10)) { /* 1110xxxx */ |
|
0 |
0 |
else if(x & 0xE0 && !(x & 0x10)) { /* 1110xxxx */ |
1054
|
0 |
0 |
else if(x & 0xF0 && !(x & 0x08)) { /* 11110xxx */ |
|
0 |
0 |
else if(x & 0xF0 && !(x & 0x08)) { /* 11110xxx */ |
1058
|
0 |
0 |
else if(x & 0xF8 && !(x & 0x04)) { /* 111110xx */ |
|
0 |
0 |
else if(x & 0xF8 && !(x & 0x04)) { /* 111110xx */ |
1062
|
0 |
0 |
else if(x & 0xFC && !(x & 0x02)) { /* 1111110x */ |
|
0 |
0 |
else if(x & 0xFC && !(x & 0x02)) { /* 1111110x */ |
1071
|
0 |
156 |
for( ; i; i--) { |
1073
|
0 |
0 |
if(!(x & 0x80) || (x & 0x40)) { /* 10xxxxxx */ |
|
0 |
0 |
if(!(x & 0x80) || (x & 0x40)) { /* 10xxxxxx */ |
1087
|
2 |
13 |
if ( buffer_len(flac->buf) >= size ) { |