[FFmpeg-devel] [PATCH] Make the ffmpeg "Overwrite ? [y/N]" question works with more than one file to overwrite

Michael Niedermayer michaelni
Wed Mar 11 01:42:10 CET 2009


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()
or
fscanf()


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090311/3604c2b7/attachment.pgp>



More information about the ffmpeg-devel mailing list