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. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal