On 7/28/2026 12:41 PM, Michael Niedermayer via ffmpeg-devel wrote:
Hi all,

Yesterday's conflict around libavfilter and premultiplied-alpha support has 
reached a point where we risk losing valuable contributors. I would like 
everyone to lower the temperature and focus on resolving both the technical 
issue and the underlying maintainership problem.

First, some relevant facts:

* Nicolas is currently listed in MAINTAINERS for the libavfilter framework and 
orphaned filters.
* Nicolas has substantially more historical experience with the common 
libavfilter framework code.
* Niklas has contributed substantially more to that code in the last two years.
* Nicolas raised objections to the premultiplied-alpha changes in July and 
August 2025:
   https://ffmpeg.org/pipermail/ffmpeg-devel/2025-July/347102.html
   https://ffmpeg.org/pipermail/ffmpeg-devel/2025-August/347335.html
* In December 2025, commit 978a0821eeb909d7b2cb777bed03a8fc380e9503 changed the 
format-negotiation retry behavior. Nicolas objected.
* On April 25, Nicolas proposed reverting it and argued that scale should 
perform the required conversion instead.
* On May 1, Nicolas offered Niklas time to implement a proper replacement and 
asked how much time he needed. No timeframe was agreed.
* On July 27, after approximately three months, Nicolas pushed the revert as 
commit cd9d265344b1d39c7b65eb018acac0478c5d736a.
* The revert exposed or caused failures in FATE and the EXR paths. Nicolas 
restored a green FATE run by disabling the affected tests, while I submitted PR 
#23928 to fix the EXR and alpha-conversion problems:
   https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23928

What I see is that Nicolas, instead of attempting something like your PR 23928 which would remove the change he vetoed long ago and replacing it with something allegedly better, purposely only removed the change in question by doing a direct push bypassing all the measures we have in place to stop regressions, and knowingly left the tree in a broken state. And far from admitting he made a mess, he instead doubled down on his stance to leave the tree broken, which included an easily exploitable DoS vector.

Was this all just to make a statement? Since when is it acceptable to purposely and knowingly break things on a whim?

* At the end of the day, the reverted change was reapplied.

Of course it was. First we put the tree back in a working state, then we proceed to make the desired changes using the proper channels (read, a PR that guards the tree from broken or even malicious changes a direct push could introduce), which your PR #23928 is a candidate for.

There is also a maintainership question that we can no longer avoid.

The MAINTAINERS file currently assigns the libavfilter framework to Nicolas. 
That means his objections to framework changes must receive serious technical 
consideration and cannot simply be ignored. It does not mean that any 
maintainer may knowingly leave master broken, prohibit all other developers 
from working on the code, or make decisions without review.

I don't question nor challenge him being the maintainer of lavfi's infra. I severely question the attitude and behavior shown yesterday, which is absolutely unacceptable for someone with such expertise and long history in the project.

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to