Opened 12 years ago
Closed 12 years ago
#2342 closed defect (fixed)
ebur128 filter output seems to break format auto negotiation
Reported by: | Marton Balint | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avfilter |
Version: | git-master | Keywords: | ebur128 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Chaining the output of the ebur128 (audio) filter causes broken output.
How to reproduce:
ffmpeg -i stereo.mp3 -af ebur128,aformat=channel_layouts=mono dummy.wav
Clément Bœsch provided a patch, but it is not clear why it fixes the issue.
http://ffmpeg.org/pipermail/ffmpeg-devel/2013-February/139526.html
Change History (4)
comment:1 by , 12 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
comment:2 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Fixed in 9efcfbed9dd64679145f5f39d9a812dfeea97172. Thanks Nicolas for the details, and sorry for the delay.
comment:3 by , 12 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This "fix" was nothing but wrong, shame on me. I thought I understood the issue, but it doesn't seem to be the case. I'll investigate, but something looks horribly broken, and I think multiple problems are surfacing here...
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Re-fixed in 9ace0dbe41c67e08291d705a8ec4b0ecbf209783.
The problem is that
ebur128
'squery_formats()
function sets the supported channel layouts (and formats) separately on its input and its audio output. That means lavfi is allowed to select them independently, and thatebur128
is expected to convert somehow. That is not what happens:ebur128
assumes that its input and audio output have the same format and channel layout; for that, it is supposed to set the supported formats and layouts together.That is exactly what the fallback
query_formats()
code does, therefore just removing the code fixes the bug.