public override bool AddFrame(Stream st) {//TODO compa with long adding_pos = CurrentNodeFile.Position; System.Console.WriteLine("arbe niveau " + depth.ToString() + " en " + StartPosition.ToString() + "avec " + blockCount.ToString() + " block, contenant de " + FirstFrame + " à " + LastFrame); if (Child.AddFrame(st))//on a un problème { //comportement différent il faut ajouter le fichier(c'est à dire son nomn) mais pas le contenu addChildBlockFile(Child);//AddChildFile if (PredictHit(FileSource) && !Top.MaxBlockCountReach(depth, blockCount))//pas de problème on peut faire une nouvelle branche { CreateNewChildFile(); CreateNewChild(FileSource); UpdateHeader(FileSource); return(false); } else//le predicteur à échouer il faut arrêter { TerminateBlock(FileSource);//on met le Block comme terminé (update aussi le header) CurrentNodeFile.Close(); if (!Top.MaxBlockCountReach(0, blockCount)) { Console.WriteLine("echec predicteur d=" + Depth + ", on fini avec Totalize=" + TotalSize + "(entre " + FirstFrame + " et " + LastFrame + ")"); } Console.WriteLine("abre terminé"); return(true);//le problème doit remonter à l'arbre au dessus } } else { return(false);//pas de problème } }