>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

Reply via email to