| 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 ) { |