[FFmpeg-trac] #7011(avformat:new): Decoding of chained opus streams isn't properly supported
FFmpeg
trac at avcodec.org
Wed Feb 7 23:12:22 EET 2018
#7011: Decoding of chained opus streams isn't properly supported
-----------------------------------+---------------------------------------
Reporter: neknek446 | Type: defect
Status: new | Priority: normal
Component: avformat | Version: unspecified
Keywords: opus ogg | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-----------------------------------+---------------------------------------
Summary of the bug:
ffmpeg currently doesn't support chained opus streams (as specified in
<https://tools.ietf.org/html/rfc7845.html#section-7.2>).
When decoding opus stream with `OpusHead`/`OpusTags` packets not in
begining of overall stream, it produces "Error parsing the packet header."
error messages and crack noises, and also doesn't update tags.
For opus stream chaining to work, opus decoder
(libavformat/oggparseopus.c) should:
* handle `OpusHead` packets (including discarding pre-skip ammount of
samples). It currently handles this well only in opus_header function.
* handle `OpusTags` packets (including updating metadata). It currently
handles this well only in opus_header function.
* handle EOS-marked packets with granule position smaller than last
granule position + ammount of samples contained in packet by discarding
excess decoded samples. I looked at code and it seems to currently do this
already.
How to reproduce:
{{{
wget https://jmvalin.ca/misc_stuff/chain_works.opus
ffmpeg -i chain_works.opus chain_works.wav
}}}
or
{{{
mpv https://jmvalin.ca/misc_stuff/chain_works.opus
}}}
or
{{{
mplayer https://jmvalin.ca/misc_stuff/chain_works.opus
}}}
Also relevant VLC ticket: <https://trac.videolan.org/vlc/ticket/18401>.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7011>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list