# # Copyright (C) 2006-2014 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.2.3 PKG_RELEASE:=2 PKG_MAINTAINER:=W. Michael Petullo PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-libav PKG_MD5SUM:=58c7998a054d8d8ca041fa35738f72b6 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 \ mpeg4aac \ 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)) PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk define Package/gst1-libav SECTION:=multimedia CATEGORY:=Multimedia TITLE:=GStreamer Libav plugin URL:=http://www.gstreamer.net/modules/gst-libav.html DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \ +gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \ +libbz2 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)) CONFIGURE_ARGS += \ --without-system-libav \ --with-libav-extra-configure="--target-os=linux \ --disable-bsfs \ --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-yasm" # XXX: trick to force use of embedded Libav headers TARGET_CFLAGS += $(TARGET_CPPFLAGS) TARGET_CPPFLAGS := TARGET_LDFLAGS += $(FPIC) define Build/Prepare $(call Build/Prepare/Default) endef 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))