Re: exhale - Open Source USAC encoder
Reply #278 – 2020-06-27 15:56:29
OK, this issue seems to be somehow related to the one guruboolez reported yesterday . I'll also contact you privately with a possible fix of which I don't know if it will fully cure the issue (that's why I don't want to change the source code at this point, without being sure).Update: After some googling, I found that, as an alternative to Windows' _read function which I'm currently using, there's fread which, apparently, does the same but the documentation notes that the latter "locks out other threads". I'm new to those specifics, does anyone know if using fread (or fread_s) instead of _read would solve the stdin issues reported by guruboolez and Ohdengoh?Edit: I found a "fix" which works for both guruboolez and Ohdengoh. I disabled buffered reading of the WAVE input by changing line 17 of source file src/app/basicWavReader.h to#define BWR_BUFFERED_READ 0 // faster reader So if you're compiling exhale yourself and you run into problems when using exhale through foobar2000 or ffmpeg, try changing that line as well. I don't really like this change, though, since it slows down the reading unnecessarily, especially when encoding WAVE files via the command-line (instead of stdin), so I decided not to include it into the 1.0.5 release. I'll work on it some more for version 1.0.6 and hope to get a better fix done. So that means that John's RC5 version is actually the final version 1.0.5, the "F" release . But John, please include the latest Release.htm and rename the executable to exhale.exe, since that's now the intended compiler independent naming. On a personal note: people, I'm impressed Half a year after the first public release of exhale, the project is in a much more stable and compatible state than I expected at this point in time. That's mainly because many of you contributed a lot of testing and listening effort. Thanks a lot, and keep doing so in the future, please Chris