[FFmpeg-trac] #9501(undetermined:new): adelay+areverse filters pair create wrong files, giving warning " Non-monotonous DTS in output stream"

FFmpeg trac at avcodec.org
Sun Nov 7 18:08:58 EET 2021


#9501: adelay+areverse filters pair create wrong files, giving warning " Non-
monotonous DTS in output stream"
-------------------------------------+-------------------------------------
             Reporter:  ramires      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:  adelay       |               Blocked By:
  areverse                           |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 Some combinations of adelay and areverse filters in -filter:a chain lead
 to wrong output files, with encoder messages like "Non-monotonous DTS in
 output stream 0:0; previous: 5448, current: 3661; changing to 5449. This
 may result in incorrect timestamps in the output file.".

 How to reproduce:
 {{{
 %ffmpeg -i input.flac -filter:a "adelay=1000|1000,areverse" output.opus
 ffmpeg version n4.4-190-g7e0d640edf-20211024 Copyright (c) 2000-2021 the
 FFmpeg developers
   built with gcc 10-win32 (GCC) 20210408
 ...
 [libopus @ 000001f07bd6d5c0] Queue input is backward in time
 [opus @ 000001f07bd6bac0] Non-monotonous DTS in output stream 0:0;
 previous: 5448, current: 3661; changing to 5449. This may result in
 incorrect timestamps in the output file.
 ...
 }}}
 foobar2000 --> Utilities --> "Verify integrity" says:
 "Warning: Nonsense Ogg granulepos value, file is not properly seekable
 Warning: Reported length is inaccurate : 2:15.942771 vs 2:16.013500
 decoded"
 {{{
 %ffmpeg.exe -i input.flac -filter:a "areverse,adelay=1000|1000"
 output.opus
 [OK]
 }}}
 {{{
 %ffmpeg.exe -i input.flac -filter:a "adelay=1000|1000,areverse,adelay=0|0"
 output.opus
 [OK]
 }}}
 But for
 {{{
 %ffmpeg.exe -i input.flac -filter:a
 "adelay=1000|1000,areverse,adelay=1000|1000,areverse" output.opus
 [OK]
 }}}
 foobar2000 --> Utilities --> "Verify integrity" says:
 "Warning: Reported length is inaccurate : 2:17.000000 vs 2:17.000813
 decoded"
 {{{
 %ffmpeg.exe -i input.flac -filter:a
 "adelay=1000|1000,areverse,adelay=2000|2000,areverse" output.opus
 ...
 [libopus @ 000001f2d76ad600] Queue input is backward in time
 [opus @ 000001f2d76abb00] Non-monotonous DTS in output stream 0:0;
 previous: 54489, current: 52662; changing to 54490. This may result in
 incorrect timestamps in the output file.
 ...
 }}}
 Similar messages appear when AAC and AC3 output codecs are used.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9501>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list