| #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 |