Hello. Some more explanation.
With that code, only +- 10 loops are working, after, no more Ouframes... why ? const FramesWanted : 640; PipeBufferSize : 10240; BufferURL, BufferTemp : tbytes; BufferFloat : array of float; ... setlength(BufferURL, PipeBufferSize); setlength(BufferTemp, FramesWanted * 2); setlength(BufferFloat, FramesWanted * 2); CreatePipeHandles(InHandle, OutHandle, PipeBufferSize); InPipe := TInputPipeStream.Create(InHandle); OutPipe := TOutputPipeStream.Create(OutHandle); HandleOP := op_test_memory(BufferURL[0],PipeBufferSize, Err); Outframes := 1; outst := 1; outst2 := 0; // The loop, is it the correct way ? while Outframes > 0 do begin while (outst2 < FramesWanted) and (outst > 0) do begin outst := InPipe.Read(BufferTemp[0],FramesWanted-outst2); if outst > 0 then for i := 0 to outst -1 do BufferURL[i+outst2] := BufferTemp[i] ; outst2 := outst2 + outst; end; // Outframes > 0 only +- 10 loops, why ? Outframes := op_read_float(HandleOP, @Buffer[0], FramesWanted , nil)); ... end; Thanks. Fre;D ----- Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/How-to-use-pipes-tp5727538p5727544.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