Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 1 | SUMMARY = "Libav-based GStreamer 1.x plugin" |
| 2 | HOMEPAGE = "http://gstreamer.freedesktop.org/" |
| 3 | SECTION = "multimedia" |
| 4 | |
| 5 | LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" |
| 6 | LICENSE_FLAGS = "commercial" |
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
| 8 | file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ |
| 9 | file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ |
| 10 | file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
| 11 | file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ |
| 12 | file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ |
| 13 | file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" |
| 14 | |
Brad Bishop | 64c979e | 2019-11-04 13:55:29 -0500 | [diff] [blame] | 15 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 16 | file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ |
| 17 | file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \ |
| 18 | file://mips64_cpu_detection.patch \ |
| 19 | file://0001-configure-check-for-armv7ve-variant.patch \ |
| 20 | file://0001-fix-host-contamination.patch \ |
| 21 | " |
Brad Bishop | 64c979e | 2019-11-04 13:55:29 -0500 | [diff] [blame] | 22 | SRC_URI[md5sum] = "58023f4c71bbd711061e350fcd76c09d" |
| 23 | SRC_URI[sha256sum] = "e8a5748ae9a4a7be9696512182ea9ffa6efe0be9b7976916548e9d4381ca61c4" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 24 | |
| 25 | S = "${WORKDIR}/gst-libav-${PV}" |
| 26 | |
| 27 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" |
| 28 | |
| 29 | inherit autotools pkgconfig upstream-version-is-even gtk-doc |
| 30 | |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 31 | # CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, |
| 32 | # compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the |
| 33 | # libav copy included in the gst-libav package. |
| 34 | PACKAGECONFIG ??= "orc yasm" |
| 35 | |
| 36 | PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl," |
| 37 | PACKAGECONFIG[libav] = "--with-system-libav,,libav" |
| 38 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" |
| 39 | PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,nasm-native" |
| 40 | PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind" |
| 41 | |
| 42 | GSTREAMER_1_0_DEBUG ?= "--disable-debug" |
| 43 | |
| 44 | LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure" |
| 45 | |
| 46 | LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ |
| 47 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ |
| 48 | --ranlib='${RANLIB}' \ |
| 49 | ${GSTREAMER_1_0_DEBUG} \ |
| 50 | --cross-prefix='${HOST_PREFIX}'" |
| 51 | |
| 52 | # Disable assembly optimizations for X32, as this libav lacks the support |
| 53 | PACKAGECONFIG_remove_linux-gnux32 = "yasm" |
| 54 | LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm" |
| 55 | |
| 56 | LIBAV_EXTRA_CONFIGURE_COMMON = \ |
| 57 | '${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"' |
| 58 | |
| 59 | EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}" |
| 60 | |
| 61 | FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" |
| 62 | FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" |
| 63 | FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" |
| 64 | |
| 65 | # http://errors.yoctoproject.org/Errors/Details/20493/ |
| 66 | ARM_INSTRUCTION_SET_armv4 = "arm" |
| 67 | ARM_INSTRUCTION_SET_armv5 = "arm" |
| 68 | |
| 69 | # ffmpeg/libav disables PIC on some platforms (e.g. x86-32) |
| 70 | INSANE_SKIP_${PN} = "textrel" |