[FFmpeg-devel] FFmpeg 3.5 / 4.0

wm4 nfxjfg at googlemail.com
Thu Apr 19 14:47:47 EEST 2018


On Thu, 19 Apr 2018 08:49:07 +0200
Hendrik Leppkes <h.leppkes at gmail.com> wrote:

> On Thu, Apr 19, 2018 at 12:56 AM, wm4 <nfxjfg at googlemail.com> wrote:
> > On Thu, 19 Apr 2018 00:40:21 +0200
> > Michael Niedermayer <michael at niedermayer.cc> wrote:
> >  
> >> On Wed, Apr 18, 2018 at 11:55:09PM +0200, Paul B Mahol wrote:  
> >> > On 4/18/18, wm4 <nfxjfg at googlemail.com> wrote:  
> >> > > On Wed, 18 Apr 2018 23:15:47 +0200
> >> > > Michael Niedermayer <michael at niedermayer.cc> wrote:
> >> > >  
> >> > >> On Wed, Apr 18, 2018 at 04:09:41PM +0200, Hendrik Leppkes wrote:  
> >> > >> > On Mon, Apr 16, 2018 at 1:24 PM, Michael Niedermayer
> >> > >> > <michael at niedermayer.cc> wrote:  
> >> > >> > > On Sat, Apr 14, 2018 at 02:04:43PM +0200, Michael Niedermayer wrote:  
> >> > >> > >> On Fri, Apr 13, 2018 at 12:53:08AM +0200, Michael Niedermayer wrote:
> >> > >> > >>  
> >> > >> > >> > On Mon, Feb 19, 2018 at 02:50:08AM +0100, Michael Niedermayer
> >> > >> > >> > wrote:  
> >> > >> > >> > > Hi
> >> > >> > >> > >
> >> > >> > >> > > Its 4 months since 3.4 was branched so its time for a new major
> >> > >> > >> > > release
> >> > >> > >> > >
> >> > >> > >> > > Is 4.0 or 3.5 preferred ?
> >> > >> > >> > > Any name suggestions ?
> >> > >> > >> > >
> >> > >> > >> > > If there are no objections i will likely make that release in the
> >> > >> > >> > > next weeks  
> >> > >> > >> >
> >> > >> > >> > more time has passed than intended ...
> >> > >> > >> >
> >> > >> > >> > what issues do remain that need to be fixed before the release ?
> >> > >> > >> > I see fate.ffmpeg.org is not looking that well (compared to most
> >> > >> > >> > releases in the past) i remember this being pretty much green
> >> > >> > >> > longer ago
> >> > >> > >> > do people want these to be fixed before the release ?  
> >> > >> > >>
> >> > >> > >> ok, so, my plan is to create a release/4.0 branch from master in the
> >> > >> > >> next
> >> > >> > >> 24-48 hours unless theres some issue brought to my attention (CC me
> >> > >> > >> just to
> >> > >> > >> be sure if theres an issue)
> >> > >> > >>
> >> > >> > >> then wait 2 days or so and backport any newly found bugfixes to
> >> > >> > >> release/4.0
> >> > >> > >> and then make the release finally
> >> > >> > >>
> >> > >> > >> delays at any point are possible due to issues, lack of time or
> >> > >> > >> other.
> >> > >> > >>
> >> > >> > >> as name i think kierans suggestion of Wu would make sense. IIRC we
> >> > >> > >> had
> >> > >> > >> no name suggested by more than 1 developer. Please correct me if i
> >> > >> > >> miscounted i did only briefly re-check the mails in the thread.  
> >> > >> > >
> >> > >> > >
> >> > >> > > release/4.0 branched
> >> > >> > > next is the release in a few days.
> >> > >> > > If theres something i should wait for please say so and CC me
> >> > >> > > also please backport all bugfixes to 4.0  
> >> > >> >
> >> > >> > I have two more fixes that should really go in 4.0, one is the
> >> > >> > tls_schannel fix that I plan to push soon (I'm the author of that
> >> > >> > module, so unless someone says otherwise soon), and the MSVC configure
> >> > >> > breakage introduced in the last 2 days.
> >> > >> > Not sure when you planned to tag, but hopefully both of those are
> >> > >> > resolved by tomorrow afternoon.  
> >> > >>
> >> > >> well i had a bad headache today and iam a bit behind now with stuff
> >> > >> so i likely wont be ready before tomorrow evening either.  
> >> > >
> >> > > Please also wait with the release until we've sorted out the general
> >> > > avio EOF mess.  
> >> >  
> >>  
> >> > No, that need to wait 5.0  
> >>
> >> +1  
> >
> > At this point it won't be possibly anymore, so it has to happen for
> > 4.0. Also why would we release something that is likely to break even
> > more API users? Wouldn't you agree that bugs need to be fixed.  
> 
> 
> The EOF change was already in 3.4, so not sure why that would be?

It was confirmed that these changes are not in 3.4, but some distro
cherry picked it into their 3.4 (arch, I thought they have a no-patch
policy).

> Lets just fix the issues and move on, there is no point in more arguing.

Well that will take time. Currently, we have the following issues:

- UDP probably doesn't do much useful in most cases, since avio will
  retry more reads, and the 0 packet will essentially be skipped in a
  way that cannot be detected (it appears it will always go through
  retry_transfer_wrapper(), which seems to loop if the underlying read
  function returns 0, from what I can see).
- On the other hand, callers with used a custom avio context in
  datagram mode will experience a public API breakage: if they return
  0, it's not interpreted as EOF anymore. (A hack was added later to
  not to break API users, but only in the "stream" protocol case.)
- The original change was shoddy enough that it instantly broke not
  only a bunch of public API users (fixed 10 days later), but also many
  things within FFmpeg, such as many ffmpeg internal protocols...
- The lavf tcp protocol, which is arguably the most important protocol,
  was not fixed until a few months after the EOF semantics change
  (fixed by myself).
- Many TLS wrappers required adjustments, such as schannel just now. It
  actually inconvenienced users of it for months, I think.
- The http reconnect code was broken by this (fixed by myself).
- The "unix" protocol had broken EOF signaling too (also a regression).
- In conclusion, the "bad design" as claimed by Nicolas George still
  has not fixed anything, but caused a lot of regressions.
- None of this was in a release yet, but we consistently found new bugs
  every other month.

So that's a clear case of a revert, or at least a major cleanup.

I tried to look into reverting it fully or partially, but it's too much
of a mess and I don't want to waste more time on it. It's not my mess
to clean up anyway. Plus you have to fight certain people who interpret
all this as personal attacks and refuse to have any discussion on the
technical level. Just fuck it, keep your mess for yourself, I don't
have to deal with your BS.


More information about the ffmpeg-devel mailing list