# # Copyright (C) 2006-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=gst1-libav PKG_VERSION:=1.15.2 PKG_RELEASE:=1 PKG_MAINTAINER:=W. Michael Petullo \ Ted Hess PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-libav PKG_HASH:=96241130cb0067e01925a7cfe084dcf05941f139eb1ab45e5556c3f95120ce49 PKG_LICENSE:=GPL-2.0 LGPL-2.0 PKG_LICENSE_FILES:=COPYING COPYING.LIB PKG_BUILD_DIR:=$(BUILD_DIR)/gst-libav-$(PKG_VERSION) PKG_FIXUP:=autoreconf PKG_INSTALL:=1 PKG_USE_MIPS16:=0 GST_VERSION:=1.0 LIBAV_ENCODERS:= \ ac3 \ jpegls \ mpeg1video \ mpeg2video \ mpeg4 \ pcm_s16be \ pcm_s16le \ png \ vorbis \ zlib \ LIBAV_DECODERS:= \ aac \ ac3 \ atrac3 \ gif \ h264 \ jpegls \ mp2 \ mp3 \ mpeg1video \ mpeg2video \ mpeg4 \ mpegvideo \ pcm_s16be \ pcm_s16le \ png \ vorbis \ wmav1 \ wmav2 \ zlib \ LIBAV_MUXERS:= \ ac3 \ ffm \ h264 \ mp3 \ mp4 \ mpeg1video \ mpeg2video \ mpegts \ ogg \ oss \ rtp \ LIBAV_DEMUXERS:= \ ac3 \ ffm \ h264 \ mp3 \ mpegps \ mpegts \ mpegvideo \ ogg \ rm \ rtsp \ sdp \ v4l2 \ LIBAV_PARSERS:= \ aac \ ac3 \ h264 \ mpegaudio \ mpegvideo \ mpeg4video \ LIBAV_PROTOCOLS:= \ file http pipe rtp tcp udp PKG_CONFIG_DEPENDS:= \ $(patsubst %,CONFIG_GST1_LIBAV_ENCODER_%,$(LIBAV_ENCODERS)) \ $(patsubst %,CONFIG_GST1_LIBAV_DECODER_%,$(LIBAV_DECODERS)) \ $(patsubst %,CONFIG_GST1_LIBAV_MUXER_%,$(LIBAV_DEMUXERS)) \ $(patsubst %,CONFIG_GST1_LIBAV_DEMUXER_%,$(LIBAV_DEMUXERS)) \ $(patsubst %,CONFIG_GST1_LIBAV_PARSER_%,$(LIBAV_PARSERS)) \ $(patsubst %,CONFIG_GST1_LIBAV_PROTOCOL_%,$(LIBAV_PROTOCOLS)) include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk define Package/gst1-libav SECTION:=multimedia CATEGORY:=Multimedia TITLE:=GStreamer Libav plugin URL:=https://www.gstreamer.net/modules/gst-libav.html DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \ +gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \ +libbz2 +liblzma endef define Package/gst1-libav/description GStreamer with libav bindings using internal Libav endef define Package/gst1-libav/config source "$(SOURCE)/Config.in" endef FILTER_CONFIG= \ $(foreach c, $(3), \ $(if $(CONFIG_GST1_LIBAV_$(1)_$(c)),--enable-$(2)='$(c)') \ ) LIBAV_CONFIGURE_ENCODERS:=$(call FILTER_CONFIG,ENCODER,encoder,$(LIBAV_ENCODERS)) LIBAV_CONFIGURE_DECODERS:=$(call FILTER_CONFIG,DECODER,decoder,$(LIBAV_DECODERS)) LIBAV_CONFIGURE_MUXERS:=$(call FILTER_CONFIG,MUXER,muxer,$(LIBAV_MUXERS)) LIBAV_CONFIGURE_DEMUXERS:=$(call FILTER_CONFIG,DEMUXER,demuxer,$(LIBAV_DEMUXERS)) LIBAV_CONFIGURE_PARSERS:=$(call FILTER_CONFIG,PARSER,parser,$(LIBAV_PARSERS)) LIBAV_CONFIGURE_PROTOCOLS:=$(call FILTER_CONFIG,PROTOCOL,protocol,$(LIBAV_PROTOCOLS)) # Strip off FPU notation REAL_CPU_TYPE:=$(firstword $(subst +, ,$(CONFIG_CPU_TYPE))) CONFIGURE_ARGS += \ --without-system-libav \ --with-libav-extra-configure=" \ $(if $(REAL_CPU_TYPE),--cpu=$(call qstrip,$(REAL_CPU_TYPE)),) \ --disable-bsfs \ --disable-programs \ --disable-devices \ --disable-encoders \ $(LIBAV_CONFIGURE_ENCODERS) \ --disable-decoders \ $(LIBAV_CONFIGURE_DECODERS) \ --disable-muxers \ $(LIBAV_CONFIGURE_MUXERS) \ --disable-demuxers \ $(LIBAV_CONFIGURE_DEMUXERS) \ --disable-parsers \ $(LIBAV_CONFIGURE_PARSERS) \ --disable-protocols \ $(LIBAV_CONFIGURE_PROTOCOLS) \ --disable-asm \ --disable-altivec \ --disable-amd3dnow \ --disable-amd3dnowext \ --disable-mmx \ --disable-mmxext \ --disable-sse \ --disable-sse2 \ --disable-sse3 \ --disable-ssse3 \ --disable-sse4 \ --disable-sse42 \ --disable-avx \ --disable-xop \ --disable-fma3 \ --disable-fma4 \ --disable-avx2 \ --disable-inline-asm \ --disable-yasm" TARGET_CFLAGS += -D_GNU_SOURCE -Wno-format-nonliteral TARGET_LDFLAGS += $(FPIC) define Package/gst1-libav/install $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION) ( cd $(PKG_INSTALL_DIR); $(CP) \ ./usr/lib/gstreamer-$(GST_VERSION)/libgstlibav.so* \ $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \ ) endef $(eval $(call BuildPackage,gst1-libav))