Hello. Thanks Michael for answer.
> What happens with the buffer in which you had data, this we do not know. Here is the schema of recording: 1) At creation: DataRec := TMemoryStream.Create; 2 ) In loop: ... DataRec.WriteBuffer(InputBuffer[0], Length(InputBuffer)); // RAM used increase at each loop ... 3) At end of recording: function WriteWave(FileName: ansistring; aDataRec: TMemoryStream): word; var ... f: TFileStream; ... begin f := TFileStream.Create(FileName, fmCreate); ... f.WriteBuffer(ID, 4); // add some stuff for wav header. ... f.CopyFrom(aDataRec.Data, aDataRec.Data.Size); ... f.free; ________________________________________ > ... buffer in which you had data The buffer (InputBuffer) used to get the samples from input device is re-filed at each loop. The data of (InputBuffer) are added to the other buffer (DataRec) used for WriteWave() (procedure at end of recording) in each loop. ________________________________________ Huh, maybe I did not understand your question. Thanks. Fre;D ----- Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/TFileStream-WriteBuffer-and-RAM-used-tp5727062p5727075.html Sent from the Free Pascal - General mailing list archive at Nabble.com. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal