blob: a78ecf3af97a9be96b77696339e76c71422b9c34 [file] [log] [blame]
#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