On Mon, 6 Mar 2017, Lukasz Sokol wrote:

On 06/03/17 14:50, fredvs wrote:
I don't know. By all logic, it should not work either.

OK, It comes from a "lucky" bug (thanks to reveal it).
There was a setlength(buffer, length(buffer) * channels) not needed.

Ok, fixed.

But the problem remain:

If data are int16 or int32: OK, the file is created with +- 1 mega bytes and
I can get those data back.

But if data are float32: NOT OK, the file is created but with only 6 octets
;-( . For example, for x :=0 to length(bufferfloat) -1 do bufferfloat[x] := 127 ; // for int16 ---> it works

for x :=0 to length(bufferfloat) -1 do bufferfloat[x] := 2147483646; // for int32 ---> it works

for x :=0 to length(bufferfloat) -1 do bufferfloat[x] := 0.2147483646 ; // for float32 ----> it does not work

Looks like for float you'd need a conversion record

There should be absolutely no need for that ?

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to