https://codeberg.org/sox_ng/sox_ng/issues/190 Done in "main" branch. If you can compile and test that would be great,
All sox_ng releases have gone back to --single-threaded by default. If you give --multi-threaded it now sets environment variable OMP_WAIT_POLICY=PASSIVE which avoids this problem
Will be in sox_ng-14.8.0
In Debian testing, yes. sox_ng has --multi-threaded enabled by default which usually completes sooner at a cost of more total CPU time due to more inter-process communication. Sorry this has caused breakage; maybe it should go back to --single-threaded by default to avoid such scenarios.
sox_open_mem_write() only creates the file; it doesn't write anything into it. You'll find out how much is written from the subsequent calls to sox_write().
Eight years on... You're welcome & thanks for confirming it works OK https://codeberg.org/sox_ng/sox_ng/issues/203
sox_ng from 14.5.0 on reads APE files (and dozens of others) using ffmpeg.
Hi! I've had another look at this, and the problem may be that the code calls sox_memstream_write(), writes a load of stuff into it and then calls sox_read on the same sox_format_t that was opened for writing, whereas what it should do is sox_close() the output and then read the data directly from the memory buffer pointer and length that are updated only by stdio when the file is flushed or closed. I suspect that it "works" when using a disk file because either SoX or stdio has separate read and...