[MacPorts] #50697: VLC @2.2.2: build fails when using recently released ffmpeg-3.0
MacPorts
noreply at macports.org
Tue May 3 14:25:28 PDT 2016
#50697: VLC @2.2.2: build fails when using recently released ffmpeg-3.0
----------------------------+-------------------------
Reporter: devans@… | Owner: rjvbertin@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: VLC VLC-devel |
----------------------------+-------------------------
Comment (by devans@…):
Replying to [comment:9 rjvbertin@…]:
> I just took another look and found a post by one of the VLC devs on
their forum: it looks like FFMpeg 3 won't be supported in VLC 2.x and will
come only in VLC 3.
>
> Pushing those devs (as suggested in the main ticket) will only have
adverse effects; in this case they'd even have a very valid point that
it's up to the packagers to provide a compatible FFMpeg package. The
latest 2.8 version in this case, as 2.9 and above break hardware
acceleration support in VLC.
I agree pushing won't help. They have their own approach which is to
settle on a specific version (specific git commit in the ffmpeg case)
rather than tryiing to chase the latest version of a rapidly developing
package. You can see this in their optional contrib build system. For the
2.2.x branch, the ffmpeg build rules in contrib/src/ffmpeg/rules.mak
specify
{{{
HASH=cdb0225
FFMPEG_SNAPURL :=
http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(HASH);sf=tgz
FFMPEG_GITURL := git://git.videolan.org/ffmpeg.git
FFMPEGCONF = \
--cc="$(CC)" \
--pkg-config="$(PKG_CONFIG)" \
--disable-doc \
--disable-encoder=vorbis \
--enable-libgsm \
--enable-libopenjpeg \
--disable-debug \
--disable-avdevice \
--disable-devices \
--disable-avfilter \
--disable-filters \
--disable-protocol=concat \
--disable-bsfs \
--disable-bzlib \
--enable-avresample
}}}
which corresponds to ffmpeg 2.7 + some following bug fix commits and is a
much smaller stripped down version of ffmpeg than what we build.
They build it (and its very few dependencies) as a private static lib so
it's completely independent of other ports.
In git master they've commented out any ffmpeg version limitations and
have their contrib version set to build from ffmpeg HEAD so VLC 3 should,
indeed, build with ffmpeg 3.0.
At this point, ffmpeg 3.0 compatibility issues with all the other
dependents have been ironed out one way or another so VLC, VLC-devel
are the only two ports blocking upgrade to latest ffmpeg (now 3.0.2) and
I'd like to go ahead with the upgrade.
I really don't think it's worth the effort and hassle to have a special
port or subport of ffmpeg for VLC that conflicts with the version used by
all the other dependent ports. Rather I suggest going with VLC's flow and
build the custom static lib as part of the port for the stable version.
An updated VLC-devel based on git master should build with either ffmpeg
3.0 or ffmpeg-devel although I saw a note on their wiki that they don't
appreciate the distribution of binaries based on unreleased code.
Just to see if that were at all possible, I put together a patch for VLC
over the weekend that does the git fetch & build of ffmpeg using their
[https://wiki.videolan.org/UnixCompile/#The_.22Contrib.22_method contrib
build instructions]. It's not pretty but it builds successfully. Beyond
that it's completely untested at this point.
Or considering the upstream attitudes, maybe it would be best to just
dispense with VLC on MacPorts altogether since upstream provides
precompiled binaries that work fine.
Very rough patch attached.
--
Ticket URL: <https://trac.macports.org/ticket/50697#comment:10>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list