Opened 11 years ago

Last modified 11 years ago

#3507 new defect

console prompt to "overwrite file" can be lost

Reported by: Roger Pack Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: basically, if ffmpeg stops to prompt you
"File 'yo.mp4' already exists. Overwrite ? [y/N]"

If there are other (for instance ERROR) log messages, they will appear and obscure the prompt, causing the prompt to be basically lost in the mix:

How to reproduce:create the file "yo.mp4" then run this:

C:\vids>ffmpeg -f dshow -i video="screen-capture-recorder":audio="Microphone (USB Audio Device)"  yo.mp4
ffmpeg version N-61874-g57e939d Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar 27 2014 12:40:59 with gcc 4.8.2 (GCC)
  configuration: --arch=x86 --target-os=mingw32 --cross-prefix=/home/rogerdpack/dev/ffmpeg-windows-build-helpers/sandbox/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --enable-gpl --enable-libx264 --enable-avisynth --enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --disable-w32threads --enable-frei0r --enable-filter=frei0r --enable-libvo-aacenc --enable-bzlib --enable-libxavs
 --extra-cflags=-DPTW32_STATIC_LIB --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-libilbc --prefix=/home/rogerdpack/dev/ffmpeg-windows-build-helpers/sandbox/mingw-w64-i686/i686-w64-mingw32 --enable-static --disable-shared --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --extra-cflags= --extra-cflags= --enable-runtime-cpudetect
  libavutil      52. 69.100 / 52. 69.100
  libavcodec     55. 55.100 / 55. 55.100
  libavformat    55. 35.101 / 55. 35.101
  libavdevice    55. 11.100 / 55. 11.100
  libavfilter     4.  3.100 /  4.  3.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
[dshow @ 025eee00] real-time buffer[0] too full (149% of size: 3041280)! frame dropped!
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, dshow, from 'video=screen-capture-recorder:audio=Microphone (USB Audio Device)':
  Duration: N/A, start: 249327.022000, bitrate: N/A
    Stream #0:0: Video: rawvideo, bgr0, 654x290, 30 fps, 30 tbr, 10000k tbn, 30 tbc
    Stream #0:1: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
File 'yo.mp4' already exists. Overwrite ? [y/N] [dshow @ 025eee00] real-time buffer[0] too full (99% of size: 3041280)! frame dropped!
    Last message repeated 1 times
[dshow @ 025eee00] real-time buffer[0] too full (99% of size: 3041280)! frame dropped!
[dshow @ 025eee00] real-time buffer[0] too full (149% of size: 3041280)! frame dropped!
    Last message repeated 45 times
(ERROR message continue on)...

Thank you.

Change History (2)

comment:1 by Michael Niedermayer, 11 years ago

One way to fix this would be to change the loglevel before printing the overwrite question so other messages from other threads that arent critical wouldnt be shown. And then change it back after the user awnsered the question

also reducing the noisyness of these threads in general may be a good idea

i cant really work on either of these as iam on linux here and the testcase is dshow

comment:2 by Roger Pack, 11 years ago

Or I suppose you could make the logging system "input aware" somehow [like a mutex to block new log messages until gets returns or what not]...perhaps...

Note: See TracTickets for help on using tickets.