1*600f14f4SXin Li#if 0 2*600f14f4SXin Lilevel 1 3*600f14f4SXin Li 4*600f14f4SXin Li4 delete middle block nopad 5*600f14f4SXin Li1 delete middle block pad 6*600f14f4SXin Li1 delete last block nopad 7*600f14f4SXin Li1 delete last block pad 8*600f14f4SXin Li1 insert middle block nopad 9*600f14f4SXin Li1 insert middle block equalpad 10*600f14f4SXin Li1 insert middle block smallpad 11*600f14f4SXin Li1 insert middle block smallpad+1 12*600f14f4SXin Li1 insert middle block biggerpad 13*600f14f4SXin Li1 insert last block X 14*600f14f4SXin Li1 set middle block smaller nopad 15*600f14f4SXin Li1 set middle block smaller pad 16*600f14f4SXin Li1 set last block smaller nopad 17*600f14f4SXin Li1 set last block smaller pad 18*600f14f4SXin Li1 set middle block bigger nopad 19*600f14f4SXin Li1 set middle block bigger equalpad 20*600f14f4SXin Li1 set middle block bigger smallpad 21*600f14f4SXin Li1 set middle block bigger smallpad+1 22*600f14f4SXin Li1 set middle block bigger biggerpad 23*600f14f4SXin Li1 set last block bigger nopad 24*600f14f4SXin Li1 set middle block equal X 25*600f14f4SXin Li2 set last block equal X 26*600f14f4SXin Li 27*600f14f4SXin Lilevel 2 28*600f14f4SXin Li 29*600f14f4SXin LiFLAC__bool FLAC__metadata_chain_write() 30*600f14f4SXin Li 31*600f14f4SXin Li1 newsize==oldsize 32*600f14f4SXin Li newsize>oldsize 33*600f14f4SXin Lib no use_padding 34*600f14f4SXin Lic use_padding, last block is not padding 35*600f14f4SXin Lig use_padding, last block is padding of insufficient length 36*600f14f4SXin Lih use_padding, last block is padding, but padding header straddles border (can't do it) 37*600f14f4SXin Lij use_padding, last block is padding of exact sufficient length (padding totally consumed) 38*600f14f4SXin Lii use_padding, last block is padding of abundant length (padding is reduced) 39*600f14f4SXin Li newsize<oldsize 40*600f14f4SXin Lia no use_padding 41*600f14f4SXin Lid use_padding, last block is not padding, delta is < 4 42*600f14f4SXin Lie use_padding, last block is not padding, delta is >= 4 43*600f14f4SXin Lif use_padding, last block is padding 44*600f14f4SXin Li 45*600f14f4SXin Livoid FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain); 46*600f14f4SXin Livoid FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain); 47*600f14f4SXin Li 48*600f14f4SXin LiS:34 A:1234 49*600f14f4SXin Lia:shrink A->30 write nopad 50*600f14f4SXin LiS:34 A:30 51*600f14f4SXin Lib:grow A->32 write nopad 52*600f14f4SXin LiS:34 A:32 53*600f14f4SXin Lic:grow A->40 write pad 54*600f14f4SXin LiS:34 A:40 55*600f14f4SXin Lid:shrink A->37 write pad 56*600f14f4SXin LiS:34 A:37 57*600f14f4SXin Lie:shrink A->33 write pad 58*600f14f4SXin LiS:34 A:33 P:0 59*600f14f4SXin Lif:shrink A->20 write pad 60*600f14f4SXin LiS:34 A:20 P:13 61*600f14f4SXin Lig:grow A->40 write pad 62*600f14f4SXin LiS:34 A:40 P:13 63*600f14f4SXin Lih:grow A->54 write pad 64*600f14f4SXin LiS:34 A:54 P:13 65*600f14f4SXin Lii:grow A->60 write pad 66*600f14f4SXin LiS:34 A:60 P:7 67*600f14f4SXin Lij:grow A->71 write pad 68*600f14f4SXin LiS:34 A:71 69*600f14f4SXin Li#endif 70