[FFmpeg-devel] [PATCH] Make the ffmpeg "Overwrite ? [y/N]" question works with more than one file to overwrite
Baptiste Coudurier
baptiste.coudurier
Sat Mar 14 02:32:40 CET 2009
On 3/13/2009 6:30 PM, Michael Niedermayer wrote:
> On Sat, Mar 14, 2009 at 01:14:13AM +0100, Stefano Sabatini wrote:
>> On date Wednesday 2009-03-11 01:42:10 +0100, Michael Niedermayer encoded:
>>> On Tue, Mar 10, 2009 at 09:36:00PM +0100, Stefano Sabatini wrote:
>>>> Hi all,
>>>>
>>>> I recently stepped into this:
>>>> stefano at geppetto ~/s/ffmpeg> ffmpeg -i in123.mpeg out0.avi out1.ogg -y -map 0:2 -map 0:1
>>>> [...]
>>>> Input #0, mpeg, from 'in123.mpeg':
>>>> Duration: 00:03:40.05, start: 0.500000, bitrate: 81 kb/s
>>>> Stream #0.0[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
>>>> Stream #0.1[0x1c1]: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
>>>> Stream #0.2[0x1c2]: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
>>>> File 'out0.avi' already exists. Overwrite ? [y/N] y
>>>> File 'out1.ogg' already exists. Overwrite ? [y/N]
>>>> Not overwriting - exiting
>>>>
>>>> After the first question is replied, the stdin buffer still contains
>>>> the '\n' buffered, then ffmpeg read from it with getchar(), get a
>>>> '\n', which is different from 'Y' and abort immediately.
>>>>
>>>> Patch fixes it.
>>>>
>>>> Regards.
>>>> --
>>>> FFmpeg = Fast and Faboulous Most Picky Energized Gorilla
>>>> Index: ffmpeg.c
>>>> ===================================================================
>>>> --- ffmpeg.c (revision 17926)
>>>> +++ ffmpeg.c (working copy)
>>>> @@ -3362,12 +3362,13 @@
>>>> filename[1] == ':' ||
>>>> av_strstart(filename, "file:", NULL))) {
>>>> if (url_exist(filename)) {
>>>> - int c;
>>>> + char c, line[256];
>>>>
>>>> if (!using_stdin) {
>>>> fprintf(stderr,"File '%s' already exists. Overwrite ? [y/N] ", filename);
>>>> fflush(stderr);
>>>> - c = getchar();
>>>> + fgets(line, sizeof(line), stdin);
>>>> + sscanf(line, "%c", &c);
>>> what weird mess is this ?
>>> getchar();getchar()
>> underkill, what if the user prints more than one character?
>
> if the user enters more than 2 chars to a question asking for one
> then interpreting this as 'y' is maybe not such a good idea.
>
> also, from a user POV, just having to press y and no enter would be nice
>
Weee termcap :>
Don't forget mingw though.
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
checking for life_signs in -lkenny... no
FFmpeg maintainer http://www.ffmpeg.org
More information about the ffmpeg-devel
mailing list