Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2015 01:35:53 +0200
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Thomas Zander <riggs@freebsd.org>
Cc:        ports@freebsd.org,  multimedia@freebsd.org
Subject:   ffmpeg26 confusion (Was: Heads up audio/video/graphics/multimedia/net/streaming port maintainers - ACTION REQUIRED)
Message-ID:  <bng7-gvty-wny@FreeBSD.org>
In-Reply-To: <CAFU734wG9rTaeZ5MMB8tvUYi0yHow1Wx5F9x-2c9rdF5SOTVeg__46787.4551461593$1410892849$gmane$org@mail.gmail.com> (Thomas Zander's message of "Tue, 16 Sep 2014 20:40:15 %2B0200")
References:  <CAFU734wG9rTaeZ5MMB8tvUYi0yHow1Wx5F9x-2c9rdF5SOTVeg__46787.4551461593$1410892849$gmane$org@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain

(overquoting strawman ;)

Thomas Zander <riggs@freebsd.org> writes:

> Hi,
>
> if you maintain a port which uses directly or indirectly ffmpeg, i.e.
> it links to at least one of
>
> libavcodec
> libavdevice
> libavfilter
> libavformat
> libavresample
> libavutil
>
> please take a moment, this is important.
>
> Shortly after the release of FreeBSD 10.1 I plan to upgrade ffmpeg to
> the 2.4 branch and import the then-latest release from the 2.4 branch
> into the head of the ports tree. Unlike the recent upgrade from 2.2.
> to 2.3, this one will NOT be painless.

What happened to the schedule? 10.1 was released half a year ago and we're
approaching code freeze for 10.2. Not to mention packages for FreeBSD
releases are built against quaterly branches nowadays. And the next quaterly
is 2015Q3 which should happen in a week.

> ALL the mentioned libraries received a bump in their major version
> numbers, which means that they are not necessarily API compatible with
> the 2.3 series. In particular, this means that several APIs which have
> been deprecated several months/years ago(!) are really gone for good
> in 2.4. One prominent example for this is the removal of
> FF_API_CLOSE_INPUT_FILE in libavformat which breaks e.g. sox and
> transcode builds. In most cases (like the mentioned examples sox and
> transcode) a fix will be easy or even trivial, but you need to be
> proactive and take a look at it.

Not the first time FFmpeg breaks API. ffmpeg0 port is good example or see
http://upstream-tracker.org/versions/ffmpeg.html .

It seems adding ffmpeg24 in r370733 betrayed the quoted plan postponing
the switch to the new API indefinitely. And ports that are not broken by
it end up limited to the feature/bug set of 2.3.x.

Maybe do the following to improve the situation:

(1) Update ffmpeg port to the latest version (2.7.1 currently)
(2) Remove ffmpeg26 port
(3) Add ffmpeg23 port with PORTSCOUT=limit:^2\.3.*
(4) Identify ports that hide ffmpeg dep behind an option
(5) Mass PORTREVISION bump in consumers (API/ABI changes in major versions)
(6) Exp-run with ffmpeg dep enabled if optional
(7) Fix bustage or convert to ffmpeg23
(8) Remove ffmpeg23 if no consumers

> I have prepared a drop-in replacement for the ffmpeg port which uses
> the recent 2.4 release. You can download it from:
> http://people.freebsd.org/~riggs/ffmpeg-2.4.tar.xz

Currently not a drop-in because requires to

- Patch pkg-config usage and installed .pc files
- Prevent mixing headers from unsuffixed ffmpeg version
- Check dependency tree for the port and consumers if mixing ffmpeg libs
- Adjust LIB_DEPENDS, *FLAGS and bump PORTREVISION when FFMPEG_SUFFIX changes

> Please check whether the ports maintained by you build and link with
> this version and prepare a suitable fix if necessary.

What if my port wants a feature only present in the latest version but not
in multimedia/ffmpeg and multimedia/ffmpeg26 ? For one,

https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=d765e07
https://github.com/hrydgard/ppsspp/issues/5286

Should I add ffmpeg27, backport to ffmpeg26 or ffmpeg (2.3.x) ?

>
> Thanks in advance and best regards
> Riggs

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQF8BAEBCgBmBQJViJvZXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQjQ0MzY3NEM3RDIzNTc4NkUxNDkyQ0VF
NEM3Nzg4MzQ3OURCRERCAAoJEOTHeINHnb3b87YH/jBaOChvAMeSJ8hdmtEAAWHl
uEeDACfwmgCj60kLgkTMmWYHrnqcXpg1rqDBiULglc4iv6pOiVlJHM/1vmCWNR74
se91imgDSSraN48FwwaFOieE7lLdBr2yXQOr9Ifyp9sqSsOukqNyQ2gf3qvcUqEd
nx48GyIMKCcjECOIgVvQetLPm6NsJEIPPbF2kITwP2mA9dmaEwtFY27JO74s1w2S
3Fn55l7wWAMIp1AxOzsxjrRafIjhNJkJeMFcp+Vgbn287eWfyref9R5diFBzT3en
Utlv3Aqbm4f0FcPboO85pRZy6EdSczzB08Vdl59jkiBAX0B6ZhhdbE4KRkDQbuE=
=7pHY
-----END PGP SIGNATURE-----
--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bng7-gvty-wny>