[fpc-pascal] How to use pipes ?
fredvs
fiens at hotmail.com
Wed Feb 1 19:55:54 CET 2017
Ho Andrew, nice to read you. ;-)
I battle hard to use your Thttpgetter for Opus, like you did for mpg123.
The difference with mpg123 is that Opus needs a buffer (mpg123 a named
pipe).
I am nearly sure that the problem comes from my code to get the buffer from
the pipe:
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;
> Where is it stopping?
In the main loop, it is stopping a legal way, after +- 10 loops, because
Outframes = 0:
Outframes := op_read_float(HandleOP, @Buffer[0], FramesWanted , nil);
if Outframes = 0 then exit;
> You are blocking processing data but the buffer from the kernel is full.
> On many Linux pc's the kernel buffer size is 65536 bytes.
Yes, it seems that this is the problem (but how to solve that?)
Thanks.
Fre;D
-----
Many thanks ;-)
--
View this message in context: http://free-pascal-general.1045716.n5.nabble.com/How-to-use-pipes-tp5727538p5727546.html
Sent from the Free Pascal - General mailing list archive at Nabble.com.
More information about the fpc-pascal
mailing list