From: Anton Khirnov <anton@khirnov.net>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 00/26] Major library version bump
Date: Thu, 19 Jan 2023 08:26:46 +0100
Message-ID: <167411320660.26119.4058197378126067958@lain.khirnov.net> (raw)
In-Reply-To: <b9bc7bf8-ba59-ddc6-fe41-219b39df6368@gmail.com>
Quoting James Almer (2023-01-18 22:23:43)
> On 1/18/2023 4:28 PM, Anton Khirnov wrote:
> > Quoting James Almer (2023-01-16 14:38:14)
> >> It's been a while since the last bump, so it's time to do some cleaning and
> >> remove deprecated APIs. This will also give us an "Open ABI season" in which we
> >> can do breaking changes (like changing public struct offsets, public enum
> >> values, adding fields to structs that have their size tied to the ABI, etc) for
> >> a few weeks.
> >
> > Last time this open season lasted something like half a year and only
> > ended when I arbitrarily said it did.
> >
> > So I'd suggest to decide right now how long will the instability period
> > last (6 weeks should be enough for everybody) and write the end date at
> > the top of doc/APIchanges.
> >
> > Another thing I'm not entirely happy about is versioning during the bump
> > and instability. While the remove-then-bump approach does make bisection
> > easier, it also creates commits that lie about their ABI version.
>
> Does it really matter? All the patches will be pushed at the same time,
> meaning one git fetch will give you a stable state pre bump and the next
> will be right after it.
> I think it's a bit farfetched to expect someone to pick a random commit
> in the middle of the bump and try to use the resulting compiled
> libraries with some program that was linked to some earlier version
> libraries.
I agree that it's probably not a big practical problem, but it is ugly
and goes against our claims of git master being stable.
> > I wonder if we couldn't come up with a better soltion. One thing that
> > comes to mind is setting the major version to 0 until the instability
> > period ends.
>
> This could have several undesired effects, mainly for users looking at
> that define and not really expecting such value (There are several
> projects supporting more than one ffmpeg release and "MAJOR <= xx"
> checks are commonplace).
IMO users who don't expect such a value shouldn't be linking against
unstable API/ABI anyway. We could also set the major version to
something really big, like 999. We'll have to change deprecation macros,
but that should be straightforward.
> Also, if we are going to code the instability period in some form into
> the codebase, might as well make it so it starts with the first removal
> commit, or immediately before it, so what you described above is no
> longer a concern.
I'd rather say the two concerns merge into one, but it's not going away.
There's currently very little user indication that API/ABI are unstable
for several months.
--
Anton Khirnov
_______________________________________________
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:[~2023-01-19 7:26 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-16 13:38 James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 01/26] avcodec: remove FF_API_OPENH264_SLICE_MODE James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 02/26] avcodec: remove FF_API_OPENH264_CABAC James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 03/26] avcodec: remove FF_API_UNUSED_CODEC_CAPS James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 04/26] avcodec: remove FF_API_THREAD_SAFE_CALLBACKS James Almer
2023-01-20 22:44 ` Michael Niedermayer
2023-01-23 22:05 ` James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 05/26] avcodec: remove FF_API_DEBUG_MV James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 06/26] avcodec: remove FF_API_GET_FRAME_CLASS James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 07/26] avcodec: remove FF_API_AUTO_THREADS James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 08/26] avcodec: remove FF_API_AVCTX_TIMEBASE James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 09/26] avcodec: remove FF_API_FLAG_TRUNCATED James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 10/26] avcodec: remove FF_API_SUB_TEXT_FORMAT James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 11/26] avformat: remove FF_API_LAVF_PRIV_OPT James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 12/26] avformat: remove FF_API_AVIOCONTEXT_WRITTEN James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 13/26] avformat: remove FF_HLS_TS_OPTIONS James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 14/26] avformat: remove FF_API_AVSTREAM_CLASS James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 15/26] avfilter: remove FF_API_SWS_PARAM_OPTION James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 16/26] avfilter: remove FF_API_BUFFERSINK_ALLOC James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 17/26] avfilter: remove FF_API_PAD_COUNT James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 18/26] avdevice: remove FF_API_DEVICE_CAPABILITIES James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 19/26] avutil: remove FF_API_D2STR James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 20/26] avutil: remove FF_API_DECLARE_ALIGNED James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 21/26] avutil: remove FF_API_COLORSPACE_NAME James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 22/26] avutil: remove FF_API_AV_MALLOCZ_ARRAY James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 23/26] avutil/version: postpone the remaining API deprecations James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 24/26] avcodec/version: " James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 25/26] avformat/version: " James Almer
2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 26/26] Bump major versions of all libraries James Almer
2023-01-18 19:28 ` [FFmpeg-devel] [PATCH 00/26] Major library version bump Anton Khirnov
2023-01-18 21:23 ` James Almer
2023-01-19 7:26 ` Anton Khirnov [this message]
2023-01-19 12:18 ` James Almer
2023-01-19 15:23 ` Anton Khirnov
2023-01-20 2:05 ` Michael Niedermayer
2023-01-21 16:51 ` Anton Khirnov
2023-01-21 19:33 ` Marvin Scholz
2023-01-21 20:17 ` Hendrik Leppkes
2023-01-21 21:30 ` Marvin Scholz
2023-01-21 22:47 ` Hendrik Leppkes
2023-01-21 21:36 ` Michael Niedermayer
2023-01-21 22:00 ` Marton Balint
2023-01-22 22:54 ` Michael Niedermayer
2023-01-23 17:03 ` Anton Khirnov
2023-01-23 22:41 ` Marton Balint
2023-01-23 22:50 ` Anton Khirnov
2023-01-23 23:22 ` Marton Balint
2023-01-24 0:01 ` Michael Niedermayer
2023-01-24 0:06 ` Marton Balint
2023-01-24 7:59 ` Anton Khirnov
2023-01-24 19:48 ` Marton Balint
2023-01-21 22:01 ` Marvin Scholz
2023-01-20 15:07 ` Tomas Härdin
2023-01-20 21:23 ` Leo Izen
2023-01-21 16:54 ` Anton Khirnov
2023-01-24 15:45 ` Anton Khirnov
2023-01-25 15:44 ` James Almer
2023-01-25 20:08 ` Marton Balint
2023-01-25 20:44 ` Jean-Baptiste Kempf
2023-01-25 21:03 ` Marton Balint
2023-01-25 21:15 ` Jean-Baptiste Kempf
2023-01-25 21:20 ` Paul B Mahol
2023-01-25 21:26 ` Jean-Baptiste Kempf
2023-01-25 21:29 ` Paul B Mahol
2023-01-25 21:31 ` Jean-Baptiste Kempf
2023-01-25 21:34 ` Paul B Mahol
2023-01-25 22:28 ` Marton Balint
2023-01-25 22:48 ` Jean-Baptiste Kempf
2023-01-25 23:25 ` Marton Balint
2023-01-26 22:16 ` Michael Niedermayer
2023-01-26 22:49 ` Jean-Baptiste Kempf
2023-01-26 23:19 ` Michael Niedermayer
2023-01-26 23:21 ` Jean-Baptiste Kempf
2023-01-27 18:42 ` James Almer
2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 26/31] avcodec/avcodec: Remove AV_CODEC_FLAG2_DROP_FRAME_TIMECODE Andreas Rheinhardt
[not found] ` <20230127140600.2831578-1-andreas.rheinhardt@outlook.com>
2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 27/31] avformat/avformat: Remove AVOutputFormat.data_codec Andreas Rheinhardt
2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 28/31] avformat/avformat: Move codecpar up in AVStream Andreas Rheinhardt
2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 29/31] avcodec: Make avcodec_decode_subtitle2 accept a const AVPacket* Andreas Rheinhardt
2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 30/31] avformat/demux: Avoid stack packet when decoding frame Andreas Rheinhardt
2023-01-27 14:06 ` [FFmpeg-devel] [PATCH 31/31] avformat/avformat: Move AVOutputFormat internals out of public header Andreas Rheinhardt
2023-01-28 13:58 ` [FFmpeg-devel] [PATCH 32/32] avutil/{color_utils, csp}: merge color_utils into csp and expose API Leo Izen
2023-01-29 11:08 ` Anton Khirnov
2023-01-30 16:50 ` [FFmpeg-devel] [PATCH v2] " Leo Izen
2023-01-30 17:08 ` Zhao Zhili
2023-01-30 17:12 ` Paul B Mahol
2023-01-30 18:22 ` Leo Izen
2023-01-31 2:20 ` "zhilizhao(赵志立)"
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 0/6] Fix HDR vivid support Zhao Zhili
2023-02-02 8:00 ` Lance Wang
[not found] ` <20230202070208.1962086-1-quinkblack@foxmail.com>
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 1/6] libavutil/hdr_dynamic_vivid_metadata: fix AVHDRVividColorToneMappingParams Zhao Zhili
2023-02-02 8:16 ` Anton Khirnov
2023-02-02 8:52 ` "zhilizhao(赵志立)"
2023-02-03 14:28 ` Anton Khirnov
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 2/6] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 3/6] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 4/6] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 5/6] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili
2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 6/6] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili
2023-01-29 10:17 ` [FFmpeg-devel] [PATCH 1/3] lavu/fifo: remove FF_API_FIFO_PEEK2 Anton Khirnov
2023-01-29 10:17 ` [FFmpeg-devel] [PATCH 2/3] lavu/fifo: uninline deprecated av_fifo_peek2() Anton Khirnov
2023-01-29 16:11 ` Andreas Rheinhardt
2023-01-29 10:17 ` [FFmpeg-devel] [PATCH 3/3] lavu/fifo: mark all AVFifoBuffer members as deprecated Anton Khirnov
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=167411320660.26119.4058197378126067958@lain.khirnov.net \
--to=anton@khirnov.net \
--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