[fpc-pascal] TFileStream.WriteBuffer() and RAM used ?
fredvs
fiens at hotmail.com
Fri Dec 9 12:15:17 CET 2016
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.
More information about the fpc-pascal
mailing list