private void RebaseTree() { tree.GoStartIndex(Output); BlockTree temp = CreateNewBlockTree(tree.Depth + 1, Output, 0, true); //BlockTree temp = new BlockTree(this, Output, tree.Depth + 1, 0, true); temp.addChildBlock(tree, Output, true);//on lui ajoute le block de l'arbre précedent //le Stream est donc bien mis juste après le dernire block ajouté long f_child = temp.LastAddedBlockPos; temp.CreateNewChild(Output);//on lui recrée ces enfants System.Console.WriteLine(Output.Position); System.Console.WriteLine("on a rebasé l'arbre et le nouvelle enfant est en " + temp.TotalSize + "et le premier est en :" + f_child + "et contient les frame de" + tree.FirstFrame + "à" + tree.LastFrame); tree = temp;//on lui fait toute suite crée un nouvelle enfant : le prédicteur est forcément valide. Output.Flush(); output.SetLength(tree.TotalSize); tree.UpdateHeader(Output);//on met à jour le header de l'arbre }