[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