Opened 4 years ago

Closed 4 years ago

#8389 closed defect (fixed)

Using rubberband filter with null output errors out

Reported by: Anthony DeRobertis Owned by:
Priority: minor Component: avfilter
Version: git-master Keywords: librubberband
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:

With some files, running -filter:a rubberband with -f null results in ffmpeg erroring out with:

RubberBandStretcher::Impl::process: Cannot process again after final chunk
Error while filtering: Operation not permitted

This happens with many files, but one that fails is a public-domain recording of In the Hall of the Mountain King by the Musopen Symphony, which I've attached.

How to reproduce:

Note: this is Debian unstable (sid) in a Docker container. ffmpeg is the Debian build.

$ ffmpeg -nostdin  -nostats -loglevel info -i MountainKing.flac -filter:a 'rubberband=tempo=1.3:pitchq=quality:window=short' -f null -  
ffmpeg version 4.2.1-2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9 (Debian 9.2.1-15)
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, flac, from 'MountainKing.flac':
  Metadata:
    genre           : Classical
    encoder         : Lavf57.71.100
    REPLAYGAIN_REFERENCE_LOUDNESS: 89.0 dB
    REPLAYGAIN_TRACK_GAIN: -4.50 dB
    REPLAYGAIN_TRACK_PEAK: 0.89036036
    REPLAYGAIN_ALBUM_GAIN: -1.08 dB
    REPLAYGAIN_ALBUM_PEAK: 0.89036036
    LICENSE         : http://creativecommons.org/publicdomain/mark/1.0/
    TITLE           : Peer Gynt Suite no. 1, op. 46: IV. In the Hall of the Mountain King
    RELEASECOUNTRY  : XW
    TOTALDISCS      : 1
    LABEL           : Musopen
    TOTALTRACKS     : 145
    COMPOSERSORT    : Grieg, Edvard
    MUSICBRAINZ_ALBUMARTISTID: 89ad4ac3-39f7-470e-963a-56509c546377
    COMPOSER        : Edvard Grieg
    DATE            : 2012-08
    disc            : 1
    TRACKTOTAL      : 145
    MUSICBRAINZ_RELEASETRACKID: f70f1357-9567-3354-9a2f-0a10dd03633e
    ALBUMARTISTSORT : Various Artists
    ORIGINALDATE    : 2012-08
    LANGUAGE        : zxx
    SCRIPT          : Latn
    WORK            : Peer Gynt Suite no. 1, op. 46: IV. I Dovregubbens hall
    MUSICBRAINZ_ALBUMID: 954bd739-75ac-410e-adc7-1bf80b0157cb
    RELEASESTATUS   : official
    album_artist    : Various Artists
    ACOUSTID_ID     : e45ce194-6069-4e63-bd61-360177b14a27
    ALBUM           : The Musopen DVD
    MUSICBRAINZ_ARTISTID: 013c8e5b-d72a-4cd3-8dee-6c64d6125823
    MEDIA           : Digital Media
    RELEASETYPE     : other;compilation
    ORIGINALYEAR    : 2012
    PERFORMER       : Musopen Symphony Orchestra (orchestra)
    ARTIST          : Edvard Grieg
    DISCTOTAL       : 1
    COMPILATION     : 1
    MUSICBRAINZ_RELEASEGROUPID: 341fc147-d4e5-45a8-8339-d00e5e1b8af5
    MUSICBRAINZ_WORKID: 6aabde58-948e-3120-a9a3-f43257f04b81
    MUSICBRAINZ_TRACKID: 64abd718-c35c-44ad-87f7-df1d3d8938fc
    ARTISTSORT      : Grieg, Edvard
    ARTISTS         : Edvard Grieg
    track           : 61
  Duration: 00:02:34.09, start: 0.000000, bitrate: 2394 kb/s
    Stream #0:0: Audio: flac, 48000 Hz, stereo, s32 (24 bit)
    Side data:
      replaygain: track gain - -4.500000, track peak - 0.000021, album gain - -1.080000, album peak - 0.000021, 
    Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 542x407 [SAR 1:1 DAR 542:407], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Cover (front)
    Stream #0:2: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:3: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:4: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:5: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:6: Video: mjpeg (Baseline), yuvj440p(pc, bt470bg/unknown/unknown), 2736x3648, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:7: Video: mjpeg (Baseline), yuvj440p(pc, bt470bg/unknown/unknown), 2736x3648, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:8: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:9: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
    Stream #0:10: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 3648x2736, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Other
Stream mapping:
  Stream #0:1 -> #0:0 (mjpeg (native) -> wrapped_avframe (native))
  Stream #0:0 -> #0:1 (flac (native) -> pcm_s16le (native))
Output #0, null, to 'pipe:':
  Metadata:
    genre           : Classical
    track           : 61
    REPLAYGAIN_REFERENCE_LOUDNESS: 89.0 dB
    REPLAYGAIN_TRACK_GAIN: -4.50 dB
    REPLAYGAIN_TRACK_PEAK: 0.89036036
    REPLAYGAIN_ALBUM_GAIN: -1.08 dB
    REPLAYGAIN_ALBUM_PEAK: 0.89036036
    LICENSE         : http://creativecommons.org/publicdomain/mark/1.0/
    TITLE           : Peer Gynt Suite no. 1, op. 46: IV. In the Hall of the Mountain King
    RELEASECOUNTRY  : XW
    TOTALDISCS      : 1
    LABEL           : Musopen
    TOTALTRACKS     : 145
    COMPOSERSORT    : Grieg, Edvard
    MUSICBRAINZ_ALBUMARTISTID: 89ad4ac3-39f7-470e-963a-56509c546377
    COMPOSER        : Edvard Grieg
    DATE            : 2012-08
    disc            : 1
    TRACKTOTAL      : 145
    MUSICBRAINZ_RELEASETRACKID: f70f1357-9567-3354-9a2f-0a10dd03633e
    ALBUMARTISTSORT : Various Artists
    ORIGINALDATE    : 2012-08
    LANGUAGE        : zxx
    SCRIPT          : Latn
    WORK            : Peer Gynt Suite no. 1, op. 46: IV. I Dovregubbens hall
    MUSICBRAINZ_ALBUMID: 954bd739-75ac-410e-adc7-1bf80b0157cb
    RELEASESTATUS   : official
    album_artist    : Various Artists
    ACOUSTID_ID     : e45ce194-6069-4e63-bd61-360177b14a27
    ALBUM           : The Musopen DVD
    MUSICBRAINZ_ARTISTID: 013c8e5b-d72a-4cd3-8dee-6c64d6125823
    MEDIA           : Digital Media
    RELEASETYPE     : other;compilation
    ORIGINALYEAR    : 2012
    PERFORMER       : Musopen Symphony Orchestra (orchestra)
    ARTIST          : Edvard Grieg
    DISCTOTAL       : 1
    COMPILATION     : 1
    MUSICBRAINZ_RELEASEGROUPID: 341fc147-d4e5-45a8-8339-d00e5e1b8af5
    MUSICBRAINZ_WORKID: 6aabde58-948e-3120-a9a3-f43257f04b81
    MUSICBRAINZ_TRACKID: 64abd718-c35c-44ad-87f7-df1d3d8938fc
    ARTISTSORT      : Grieg, Edvard
    ARTISTS         : Edvard Grieg
    encoder         : Lavf58.29.100
    Stream #0:0: Video: wrapped_avframe, yuvj420p(progressive), 542x407 [SAR 1:1 DAR 542:407], q=2-31, 200 kb/s, 90k fps, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Cover (front)
      encoder         : Lavc58.54.100 wrapped_avframe
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      encoder         : Lavc58.54.100 pcm_s16le
    Side data:
      replaygain: track gain - -4.500000, track peak - 0.000021, album gain - -1.080000, album peak - 0.000021, 
RubberBandStretcher::Impl::process: Cannot process again after final chunk
[1;31mError while filtering: Operation not permitted
[0mframe=    1 fps=0.7 q=-0.0 Lsize=N/A time=00:00:26.37 bitrate=N/A speed=18.3x    
video:1kB audio:4945kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Change History (5)

comment:1 by Anthony DeRobertis, 4 years ago

Turns out I can't upload it as it's too large (44MB); so I've uploaded it to Mega instead. https://mega.nz/#!ethUEAaQ!H7vW74waV_AG46m_vf5dqRHaBLMhhBduv4Sa3DCSSrw

Details of the file can be found at https://musopen.org/music/777-peer-gynt-suite-no-1-op-46/ or at https://archive.org/details/MusopenCollectionAsFlac (where you can also download it, #81 — pretty sure that's the same file as I have)

comment:2 by Anthony DeRobertis, 4 years ago

Summary: Using rubberband filter with null output erros outUsing rubberband filter with null output errors out

comment:3 by Carl Eugen Hoyos, 4 years ago

Component: undeterminedavfilter
Keywords: librubberband added
Priority: normalminor
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

Needs -vn, I don't know if this is a fundamental issue with libavfilter or related to rubberband.

For future tickets: Please remember that only current FFmpeg git head is supported on this bug tracker.

Last edited 4 years ago by Carl Eugen Hoyos (previous) (diff)

comment:4 by Elon Musk, 4 years ago

It is libavfilter bug, it keeps queueing samples all the time.

comment:5 by Elon Musk, 4 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.