Opened 11 years ago

Last modified 11 years ago

#2007 open defect

buffer underflow flood while remuxing mpeg stream

Reported by: Clément Bœsch Owned by:
Priority: minor Component: avformat
Version: git-master Keywords: mpegps
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

% ./ffmpeg -f lavfi -i testsrc=d=300 -y test.mpg
ffmpeg version N-47665-g18eb319 Copyright (c) 2000-2012 the FFmpeg developers
  built on Dec  9 2012 18:50:45 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-fontconfig --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-x11grab --enable-libopenjpeg --enable-libass --enable-libmodplug --enable-libv4l2 --cc=colorgcc --samples=/home/ubitux/fate-samples --prefix=/tmp/ffinstall --enable-runtime-cpudetect --enable-libcelt
  libavutil      52. 12.100 / 52. 12.100
  libavcodec     54. 79.101 / 54. 79.101
  libavformat    54. 48.100 / 54. 48.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 26.101 /  3. 26.101
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[lavfi @ 0x2aa0260] Estimating duration from bitrate, this may be inaccurate
Input #0, lavfi, from 'testsrc=d=300':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
[mpeg @ 0x2aa1a80] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'test.mpg':
  Metadata:
    encoder         : Lavf54.48.100
    Stream #0:0: Video: mpeg1video, yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> mpeg1video)
Press [q] to stop, [?] for help
frame= 7500 fps=987 q=8.6 Lsize=    7690kB time=00:04:59.96 bitrate= 210.0kbits/s    
video:7622kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.886493%
% ./ffmpeg -i test.mpg -c copy -y remux.mpg
ffmpeg version N-47665-g18eb319 Copyright (c) 2000-2012 the FFmpeg developers
  built on Dec  9 2012 18:50:45 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-fontconfig --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-x11grab --enable-libopenjpeg --enable-libass --enable-libmodplug --enable-libv4l2 --cc=colorgcc --samples=/home/ubitux/fate-samples --prefix=/tmp/ffinstall --enable-runtime-cpudetect --enable-libcelt
  libavutil      52. 12.100 / 52. 12.100
  libavcodec     54. 79.101 / 54. 79.101
  libavformat    54. 48.100 / 54. 48.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 26.101 /  3. 26.101
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpeg @ 0x3044240] max_analyze_duration 5000000 reached at 5000000
Input #0, mpeg, from 'test.mpg':
  Duration: 00:00:59.76, start: 1.000000, bitrate: 244 kb/s
    Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p, 320x240 [SAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
Output #0, mpeg, to 'remux.mpg':
  Metadata:
    encoder         : Lavf54.48.100
    Stream #0:0: Video: mpeg1video, yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 104857 kb/s, 25 fps, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10490 size=10833
[mpeg @ 0x304b0a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10490 size=10833
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10640 size=10662
[mpeg @ 0x304b0a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10640 size=10662
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10356 size=10841
[mpeg @ 0x304b0a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10356 size=10841
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10882 size=11225
[mpeg @ 0x304b0a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10882 size=11225
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10872 size=11165
[mpeg @ 0x304b0a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10872 size=11165
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10408 size=11000
[mpeg @ 0x304b0a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x304b0a0] buffer underflow i=0 bufi=10408 size=11000
frame= 1500 fps=0.0 q=-1.0 Lsize=    1784kB time=00:00:59.96 bitrate= 243.7kbits/s    
video:1768kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.877842%

The file is playable so I believe the problem is minor. Still this flood should not happen, especially when the input is created with ffmpeg.

Change History (1)

comment:1 by Carl Eugen Hoyos, 11 years ago

Keywords: mpegps added; mpeg removed
Reproduced by developer: set
Status: newopen
Note: See TracTickets for help on using tickets.