nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
Bjørn Forsman 84bc6d64ba gstreamer: 1.4.x -> 1.6.x (all modules)
(And while at it, gst-vaapi 0.6.0 -> 0.6.1.)

* gst-editing-services grew additional build time dependencies, flex and
  perl.

* gst-libav switched from libav to ffmpeg as "libav" provider, see
  http://gstreamer.freedesktop.org/releases/1.6/.
  Without using ffmpeg, one may hit issues such as this (which I
  initially did):

  (gst-plugin-scanner:19751): GStreamer-WARNING **: Failed to load plugin '/nix/store/0wgpq2yx9wrkp2mh4rn1c7zbiq2bqa2l-gst-libav-1.6.1/lib/gstreamer-1.0/libgstlibav.so':
  /nix/store/0wgpq2yx9wrkp2mh4rn1c7zbiq2bqa2l-gst-libav-1.6.1/lib/gstreamer-1.0/libgstlibav.so: undefined symbol: av_frame_get_sample_rate
2015-12-05 21:52:33 +01:00

39 lines
1.0 KiB
Nix

{ stdenv, fetchurl, pkgconfig, python, yasm
, gst-plugins-base, orc, bzip2
, withSystemLibav ? true, libav ? null
}:
# Note that since gst-libav-1.6, libav is actually ffmpeg. See
# http://gstreamer.freedesktop.org/releases/1.6/ for more info.
assert withSystemLibav -> libav != null;
stdenv.mkDerivation rec {
name = "gst-libav-1.6.1";
meta = {
homepage = "http://gstreamer.freedesktop.org";
license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ iyzsong ];
};
src = fetchurl {
url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
sha256 = "1a9pc7zp5rg0cvpx8gqkr21w73i6p9xa505a34day9f8p3lfim94";
};
configureFlags = stdenv.lib.optionalString withSystemLibav
"--with-system-libav";
nativeBuildInputs = with stdenv.lib;
[ pkgconfig python ]
++ optional (!withSystemLibav) yasm
;
buildInputs = with stdenv.lib;
[ gst-plugins-base orc bzip2 ]
++ optional withSystemLibav libav
;
}