From: Sebastian Ramacher <sramacher@debian.org> To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] FFmpeg 7.0 blocking issues Date: Tue, 4 Jun 2024 11:19:30 +0200 Message-ID: <Zl7cIpw0aNSxFq7b@ramacher.at> (raw) In-Reply-To: <20240603213237.GC2821752@pb2> On 2024-06-03 23:32:37 +0200, Michael Niedermayer wrote: > On Sun, Jun 02, 2024 at 03:49:42PM +0200, Sebastian Ramacher wrote: > > On 2024-03-03 09:55:15 +0100, Sebastian Ramacher wrote: > > > On 2024-03-02 20:39:08 -0500, Sean McGovern wrote: > > > > On Sat, Mar 2, 2024, 18:19 Michael Niedermayer <michael@niedermayer.cc> > > > > wrote: > > > > > > > > > On Sun, Mar 03, 2024 at 12:06:14AM +0100, Sebastian Ramacher wrote: > > > > > > On 2024-03-02 23:55:38 +0100, Michael Niedermayer wrote: > > > > > > > On Tue, Jan 23, 2024 at 08:22:41PM +0100, Michael Niedermayer wrote: > > > > > > > > Hi all > > > > > > > > > > > > > > > > As it was a little difficult for me to not loose track of what is > > > > > > > > blocking a release. I suggest that for all release blocking issues > > > > > > > > open a ticket and set Blocking to 7.0 > > > > > > > > that way this: > > > > > > > > https://trac.ffmpeg.org/query?blocking=~7.0 > > > > > > > > > > > > > > > > or for the ones not closed: > > > > > > > > > > > > > https://trac.ffmpeg.org/query?status=new&status=open&status=reopened&blocking=~7.0 > > > > > > > > > > > > > > > > will list all blocking issues > > > > > > > > > > > > > > > > Ive added one, for testing that, i intend to add more if i see > > > > > something > > > > > > > > > > > > > > > > What is blocking? (IMHO) > > > > > > > > * regressions (unless its non possible to fix before release) > > > > > > > > * crashes > > > > > > > > * security issues > > > > > > > > * data loss > > > > > > > > * privacy issues > > > > > > > > * anything the commuity agrees should be in the release > > > > > > > > > > > > > > We still have 3 blocking issues on trac > > > > > > > > > > > > > > do people want me to wait or ignore them and branch ? > > > > > > > Iam not sure when the exact deadline is but if we keep waiting > > > > > > > we will not get into ubuntu 24.04 LTS > > > > > > > > > > > > 24.04 is past feature freeze, so it's too late for that. > > > > > > > > > > we should aim earlier in the future then. > > > > > > > > > > > > > > > > > > LTS is only every 2 years, yes? > > > > > > Yes > > > > > > > How do we make sure this doesn't happen in 2026? How much of a gap is there > > > > between feature freeze and release? > > > > > > Not involved in Ubuntu, so that's from past experience: feature > > > freeze is usually about two months before the release. > > > > > > So here's the catch: Debian's timeline also needs to be taken into > > > account. If the ffmpeg release does not involve the removal of deprecated API and > > > a SONAME bump, then the time from ffmpeg to release to upload to Debian > > > unstable and then import in Ubuntu is short. In this case, I am sure > > > that I could convince Ubuntu maintainers to import it even during > > > feature freeze. > > > > > > But with SONAME bumps and changes in the API, it takes a lot more time > > > to work through the high number of ffmpeg reverse dependencies. In that > > > case, plan a release at least 6 months before an Ubuntu LTS release. > > > > > > > > > > > > We usually have to rely on upstream maintainers to adopt to the > > > changes and that take times. Many moons ago Anton helped with providing > > > patches, but for the last couple of API changes it took some months from > > > "dear maintainer, here is ffmpeg X for testing, please fix the build of > > > your package" to actually doing all uploads and rebuilds. For example, > > > the transition to ffmpeg 6.0 was started in July 2023 and was done in > > > December 2023. > > > > Just as a FYI: ffmpeg 7.0 breaks close to 70 reverse dependencies in > > Debian. The list is available at [1]. So if you want ffmpeg X to be in > > Debian Y or Ubuntu Z, X needs to be released at least half a year before > > Y or Z freeze. > > Is there something that ffmpeg can do to reduce this breakage ? > (i know its a bit of a lame question as its API brekages but i mean > can the policy we have about deprecating API/ABI be amended in some way > to make this easier ? Maintainers and developers of reverse dependencies repeatedly ask for upgrade guides that go beyond "use this function instead". I just did a quick check through the documentation of 7.0 (doxygen and APIchanges) for the changes of the channel layout handling. This is what I can find: 2022-03-15 - cdba98bb80 - lavc 59.24.100 - avcodec.h codec_par.h Update AVCodecParameters for the new channel layout API: add ch_layout, deprecate channels/channel_layout. Update AVCodecContext for the new channel layout API: add ch_layout, deprecate channels/channel_layout. Update AVCodec for the new channel layout API: add ch_layouts, deprecate channel_layouts. 2022-03-15 - cdba98bb80 - lavu 57.24.100 - channel_layout.h frame.h opt.h Add new channel layout API based on the AVChannelLayout struct. Add support for Ambisonic audio. Deprecate previous channel layout API based on uint64 bitmasks. Add AV_OPT_TYPE_CHLAYOUT option type, deprecate AV_OPT_TYPE_CHANNEL_LAYOUT. Update AVFrame for the new channel layout API: add ch_layout, deprecate channels/channel_layout. This only describes what has changed, but gives no indication for users how to change their codebase. If there is such documentation, its discoverability can certainly be improved. I can understand the desire to improve the API, but with a lack of upgrade documentation, every other release requires a non-negligible number of developers to figure out the required changes themselves. > Also am i correct that it should be easier if a X.1 with same API/ABI that is > released 6 month after X.0 is targetet for the release ? Thats in fact kind > of what i would have preferred anyway as the .1 likely has also fewer bugs In the end we still have to deal with the breakage from X.0. But once we completed the switch to to X.0, breakage from X.1 is usually small. Then there are also the peculiar cases such as chromaprint which is a dependency of ffmpeg and also a user. It started to break around ffmpeg 5.0 or 6.0 (due changes in ffmpeg's FFT code) and is now again affected by the changes to channel layout. It would help a lot of at least the dependencies of ffmpeg are tested with API changes. Cheers -- Sebastian Ramacher _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2024-06-04 9:19 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-01-23 19:22 Michael Niedermayer 2024-01-23 20:18 ` Lynne 2024-01-24 7:40 ` Anton Khirnov 2024-01-24 12:07 ` Lynne 2024-01-24 12:30 ` Anton Khirnov 2024-01-24 13:14 ` Lynne 2024-01-24 13:24 ` Anton Khirnov 2024-01-24 13:36 ` Lynne 2024-01-24 12:28 ` James Almer 2024-01-24 7:45 ` Anton Khirnov 2024-01-24 12:29 ` James Almer 2024-01-24 12:45 ` Niklas Haas 2024-01-28 10:38 ` Anton Khirnov 2024-01-24 13:59 ` Kieran Kunhya 2024-02-07 14:54 ` Derek Buitenhuis 2024-02-09 3:32 ` Michael Niedermayer 2024-02-12 15:36 ` Derek Buitenhuis 2024-02-07 18:49 ` Leo Izen 2024-02-07 18:56 ` Andreas Rheinhardt 2024-02-08 1:27 ` Leo Izen 2024-02-08 2:20 ` James Almer [not found] ` <2E182D4F-95D4-43F7-A772-A737003B3C79@cosmin.at> 2024-02-07 18:55 ` Cosmin Stejerean via ffmpeg-devel 2024-02-10 21:03 ` James Almer 2024-02-11 1:35 ` Michael Niedermayer 2024-02-11 5:53 ` Nuo Mi 2024-02-25 23:18 ` Michael Niedermayer 2024-02-25 23:20 ` James Almer 2024-02-26 21:26 ` Michael Niedermayer 2024-03-02 22:55 ` Michael Niedermayer 2024-03-02 23:06 ` Sebastian Ramacher 2024-03-02 23:19 ` Michael Niedermayer 2024-03-03 1:39 ` Sean McGovern 2024-03-03 8:55 ` Sebastian Ramacher 2024-06-02 13:49 ` Sebastian Ramacher 2024-06-03 21:32 ` Michael Niedermayer 2024-06-03 21:36 ` Sean McGovern 2024-06-03 21:41 ` James Almer 2024-06-04 1:16 ` Michael Niedermayer 2024-06-04 7:23 ` Vittorio Giovara 2024-06-04 7:46 ` Anton Khirnov 2024-06-04 6:31 ` Rémi Denis-Courmont 2024-06-04 9:29 ` Sebastian Ramacher 2024-06-05 10:55 ` Kacper Michajlow 2024-06-04 8:34 ` Andrew Sayers 2024-06-04 9:19 ` Sebastian Ramacher [this message] 2024-03-03 7:35 ` Jean-Baptiste Kempf 2024-03-03 12:35 ` James Almer 2024-03-08 14:00 ` James Almer 2024-03-08 14:02 ` Kieran Kunhya 2024-03-08 14:04 ` James Almer 2024-03-08 15:04 ` Frank Plowman 2024-03-08 15:40 ` Kieran Kunhya 2024-03-09 12:33 ` Nuo Mi 2024-03-09 18:31 ` Marth64 2024-03-10 13:25 ` Xiang, Haihao 2024-03-10 23:29 ` Michael Niedermayer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=Zl7cIpw0aNSxFq7b@ramacher.at \ --to=sramacher@debian.org \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git