>It checks if there is data in the buffer. The point is to do a non-blocking >read on stdin.
I don't know how else to do that for stdin. Using WaitForSingleObject with generic functions like read() from io.h or ReadFile doesn't work since WaitForSingleObject will trigger on mouse and windows events, so calling those functions can result in blocking (even if I wait for an actual keyboard event). Or is that code specifically there to deal with everything that is not a console and what I actually need to do there is somehow typecheck that GetStdHandle did not return a console and only then call one of the generic read functions? (and let the kbhit and getch that come afterwards handle the console) 2015-03-07 23:38 GMT+01:00 Reimar Döffinger <reimar.doeffin...@gmx.de>: > On 07.03.2015, at 16:51, Peter <dravo...@googlemail.com> wrote: >> The issue is this patch >> https://github.com/FFmpeg/FFmpeg/commit/ca4d71b149ebe32aeaf617ffccf362624b9aafb1 >> which uses a member of the FILE struct which is not available in the >> new C runtime (it's now just a struct with a void*). >> >> I do not quite know the semantics of the stdin->_cnt > 0 check. > > It checks if there is data in the buffer. The point is to do a non-blocking > read on stdin. > >> So I tried a few approaches, like using the deprecated function that is >> called >> after the #ifdef block anyway: >> https://github.com/Bigpet/FFmpeg/commit/b167e17e6f8839e1b4ce0edad2708ff4237e4aec >> (I'm kind of worried about this since using "read(0, &ch, 1);" instead >> of "getch" with that if >> condition actually blocks in some cases, so it's not 100% equivalent) >> >> Or trying to understand what the non-deprecated Win32 API calls would look >> like: >> https://github.com/Bigpet/FFmpeg/commit/8d9cae13f389ab7dddc736ecac3feb01843ca094 > > I don't think that's generic enough, you can't know what kind of thing stdin > is, so using any non-generic function on it might break things... > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel