Branch Coverage

src/ogg.c
Criterion Covered Total %
branch 103 156 66.0


line true false branch
68 0 22 if ( !_check_buf(infile, &ogg_buf, 10, OGG_BLOCK_SIZE) ) {
76 0 22 (bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') &&
0 0 (bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') &&
0 0 (bptr[0] == 'I' && bptr[1] == 'D' && bptr[2] == '3') &&
77 0 0 bptr[3] < 0xff && bptr[4] < 0xff &&
0 0 bptr[3] < 0xff && bptr[4] < 0xff &&
78 0 0 bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80
0 0 bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80
0 0 bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80
0 0 bptr[6] < 0x80 && bptr[7] < 0x80 && bptr[8] < 0x80 && bptr[9] < 0x80
83 0 0 if (bptr[5] & 0x10) {
99 0 165 if ( !_check_buf(infile, &ogg_buf, OGG_HEADER_SIZE, OGG_BLOCK_SIZE) ) {
109 165 0 if ( ogghdr[0] != 'O' || ogghdr[1] != 'g' || ogghdr[2] != 'g' || ogghdr[3] != 'S' ) {
165 0 if ( ogghdr[0] != 'O' || ogghdr[1] != 'g' || ogghdr[2] != 'g' || ogghdr[3] != 'S' ) {
165 0 if ( ogghdr[0] != 'O' || ogghdr[1] != 'g' || ogghdr[2] != 'g' || ogghdr[3] != 'S' ) {
0 165 if ( ogghdr[0] != 'O' || ogghdr[1] != 'g' || ogghdr[2] != 'g' || ogghdr[3] != 'S' ) {
127 22 143 if ( header_type & 0x02 ) {
132 65 100 if ( !(header_type & 0x01) ) {
137 21 144 if (packets > 2 * streams && !buffer_len(&vorbis_buf) ) {
0 21 if (packets > 2 * streams && !buffer_len(&vorbis_buf) ) {
144 165 0 if (page >= 0 && page == pagenum) {
164 1 if (page >= 0 && page == pagenum) {
157 115 50 if (granule_pos > 0 && granule_pos != -1) {
22 93 if (granule_pos > 0 && granule_pos != -1) {
159 3 19 if (seeking) {
164 18 1 if ( buffer_len(&vorbis_buf) > 0 ) {
179 117 26 if (num_segments > 1) {
182 0 117 if ( !_check_buf(infile, &ogg_buf, num_segments, OGG_BLOCK_SIZE) ) {
187 1918 117 for( i = 0; i < num_segments - 1; i++ ) {
196 0 143 if ( !_check_buf(infile, &ogg_buf, pagelen, OGG_BLOCK_SIZE) ) {
202 0 143 if ( buffer_len(&ogg_buf) < pagelen ) {
216 43 100 if ( !vorbis_type ) {
219 0 43 if ( strncmp( buffer_ptr(&vorbis_buf), "vorbis", 6 ) ) {
228 22 121 if (vorbis_type == 1) {
231 0 22 if ( buffer_len(&vorbis_buf) < 23 ) {
281 17 5 if ( file_size > avg_buf_size ) {
290 0 22 if ( PerlIO_read(infile, buffer_append_space(&ogg_buf, avg_buf_size), avg_buf_size) == 0 ) {
291 0 0 if ( PerlIO_error(infile) ) {
307 41910 0 && (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S')
41712 198 && (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S')
177 21 && (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S')
1 20 && (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S')
0 20 && (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S')
312 2 41888 if ( buf_size < 14 ) {
334 14 6 if ( granule_pos && samplerate && serialno == final_serialno ) {
14 0 if ( granule_pos && samplerate && serialno == final_serialno ) {
13 1 if ( granule_pos && samplerate && serialno == final_serialno ) {
354 0 22 if (err) return err;
378 282 35 while (num_comments--) {
382 1 281 if ( len > buffer_len(vorbis_buf) ) {
393 6 275 !strncasecmp(bptr, "METADATA_BLOCK_PICTURE=", 23)
412 0 6 if ( !picture ) {
418 2 4 if ( my_hv_exists(tags, "ALLPICTURES") ) {
420 2 0 if (entry != NULL) {
440 4 271 !strncasecmp(bptr, "COVERART=", 9)
456 1 3 if ( _env_true("AUDIO_SCAN_NO_ARTWORK") ) {
471 0 4 if ( my_hv_exists(tags, "ALLPICTURES") ) {
473 0 0 if (entry != NULL) {
497 18 17 if (has_framing) {
514 0 3 if ( _ogg_parse(infile, file, info, tags, 1) != 0 ) {
519 0 3 if (offset >= song_length_ms) {
561 421 28 while (high > low) {
568 392 29 if (high - low > 2 * OGG_HEADER_SIZE) {
576 0 421 if (mid > file_size - OGG_HEADER_SIZE) {
582 0 421 if (PerlIO_seek(infile, mid, SEEK_SET) == -1) {
597 0 421 if (!_check_buf(infile, &buf, OGG_HEADER_SIZE,
604 227 1204559 if (buf_size < 4) {
610 4734 1199825 if (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S') {
205 4529 if (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S') {
194 11 if (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S') {
0 194 if (bptr[0] != 'O' || bptr[1] != 'g' || bptr[2] != 'g' || bptr[3] != 'S') {
620 227 194 if (page_start_offset < 0) {
635 0 194 if (serialno != cur_serialno) {
642 14 194 while (granule_pos == ULLONG_MAX) {
648 4 10 if (buffer_len(&buf) < page_len + OGG_HEADER_SIZE) _check_buf(infile, &buf, page_len + OGG_HEADER_SIZE, OGG_MAX_PAGE_SIZE);
653 0 14 if (memcmp(bptr, "OggS", 4)) {
666 110 84 if (granule_pos > target_sample) {
671 84 0 else if (granule_pos < target_sample) {