[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#729203: ffmpeg alongside libav



On Feb 11, 2014 4:09 PM, "Antoine Beaupré" <anarcat@debian.org> wrote:
>
> On 2014-02-11 19:00:45, Timothy Gu wrote:
> > On Feb 11, 2014 10:27 AM, "Antoine Beaupré" <anarcat@debian.org> wrote:
> >>
> >> On 2014-02-11 13:04:53, Timothy Gu wrote:

> >> > I have also tried to build http://mpv.io/ with ffmpeg instead of
> >> > libav, and I received success in doing tthat as well. Build script is
> >> > in the gist as well.
> >>
> >> Thanks for sharing! That will certainly be useful for others.
> >
> > It should work for all applications wishing to support FFmpeg, including
> > VLC. But the PKG_CONFIG_PATH is really not optimal.
>

> That, and -rpath is designed for private libraries, so I don't think
> that could end up in the archive legitimately.

To add ffmpeg to Debian, we have four options:

1. Make both programs and libraries available as a replacement for Libav. This would require full ABI, API, and behavior compatibility. This is the best if compatibilities are satisfied.

2. Use RPATH to make shared build libraries and programs and static libraries available. This is my solution for incompatible libraries. This way, ffmpeg programs can share libraries, and users who wish to use ffmpeg for other programs can compile the apps *themselves*, either dynamically or statically. The inconvenience of this method is mainly that a user must compile apps themselves.

3. Make only static libraries and programs available. This is your solution. This has several bad consequences comparing to #2:
  - ffmpeg programs would be too big.
  - a user cannot run two copies of a program that use either Libav/FFmpeg alongside each other.

4. Make FFmpeg the default in Debian. This is way too controversial, and if people still want Libav to be in Debian, #2 or #3 must be used because Libav is not trying to maintain compatibility with FFmpeg at all.

>
> A static link, on the other hand, may have a legitimate purpose.

I don't see *any* advantages over RPATH except for silencing a few lintian warnings. People who wants to use FFmpeg libs still need to compile the app on their own. And if the static libs are installed to std locations it would cause more confusion as the static and shared libs in one directories are different.

Timothy


Reply to: