| #if 0 | |
| level 1 | |
| 4 delete middle block nopad | |
| 1 delete middle block pad | |
| 1 delete last block nopad | |
| 1 delete last block pad | |
| 1 insert middle block nopad | |
| 1 insert middle block equalpad | |
| 1 insert middle block smallpad | |
| 1 insert middle block smallpad+1 | |
| 1 insert middle block biggerpad | |
| 1 insert last block X | |
| 1 set middle block smaller nopad | |
| 1 set middle block smaller pad | |
| 1 set last block smaller nopad | |
| 1 set last block smaller pad | |
| 1 set middle block bigger nopad | |
| 1 set middle block bigger equalpad | |
| 1 set middle block bigger smallpad | |
| 1 set middle block bigger smallpad+1 | |
| 1 set middle block bigger biggerpad | |
| 1 set last block bigger nopad | |
| 1 set middle block equal X | |
| 2 set last block equal X | |
| level 2 | |
| FLAC__bool FLAC__metadata_chain_write() | |
| 1 newsize==oldsize | |
| newsize>oldsize | |
| b no use_padding | |
| c use_padding, last block is not padding | |
| g use_padding, last block is padding of insufficient length | |
| h use_padding, last block is padding, but padding header straddles border (can't do it) | |
| j use_padding, last block is padding of exact sufficient length (padding totally consumed) | |
| i use_padding, last block is padding of abundant length (padding is reduced) | |
| newsize<oldsize | |
| a no use_padding | |
| d use_padding, last block is not padding, delta is < 4 | |
| e use_padding, last block is not padding, delta is >= 4 | |
| f use_padding, last block is padding | |
| void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain); | |
| void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain); | |
| S:34 A:1234 | |
| a:shrink A->30 write nopad | |
| S:34 A:30 | |
| b:grow A->32 write nopad | |
| S:34 A:32 | |
| c:grow A->40 write pad | |
| S:34 A:40 | |
| d:shrink A->37 write pad | |
| S:34 A:37 | |
| e:shrink A->33 write pad | |
| S:34 A:33 P:0 | |
| f:shrink A->20 write pad | |
| S:34 A:20 P:13 | |
| g:grow A->40 write pad | |
| S:34 A:40 P:13 | |
| h:grow A->54 write pad | |
| S:34 A:54 P:13 | |
| i:grow A->60 write pad | |
| S:34 A:60 P:7 | |
| j:grow A->71 write pad | |
| S:34 A:71 | |
| #endif |