# $FreeBSD: multimedia/gstreamer-plugins/Makefile.common 332416 2013-11-01 22:14:07Z kwm $
#    $MCom: ports/multimedia/gstreamer-plugins/Makefile.common,v 1.81 2010/03/16 19:33:10 mezz Exp $
# base
BASE_GST_ALL_PLUGINS= \
		alsa \
		cdparanoia \
		gio \
		gnomevfs \
		libvisual \
		ogg \
		pango \
		theora \
		vorbis
# bad
BAD_GST_ALL_PLUGINS+= \
		alsaspdif \
		amrwb \
		apexsink \
		assrender \
		bz2 \
		cdaudio \
		celt \
		cog \
		dc1394 \
		dirac \
		directfb \
		divx \
		dts \
		exif \
		faac \
		faad \
		flite \
		gme \
		gsm \
		jack \
		jp2k \
		kate \
		ladspa \
		libmms \
		lv2 \
		metadata \
		mimic \
		modplug \
		mpeg2enc \
		mplex \
		musepack \
		musicbrainz \
		mythtv \
		nas \
		neon \
		ofa \
		opencv \
		opus \
		resindvd \
		rsvg \
		schro \
		sdl \
		shm \
		sndfile \
		soundtouch \
		spc \
		swfdec \
		theoradec \
		timidity \
		vdpau \
		vp8 \
		xvid \
		zbar

# good
GOOD_GST_ALL_PLUGINS+= \
		aalib \
		annodex \
		cairo \
		dv \
		esd \
		flac \
		gconf \
		gdk_pixbuf \
		hal \
		jpeg \
		libcaca \
		libpng \
		pulse \
		raw1394 \
		shout2 \
		soup \
		speex \
		taglib \
		gst_v4l2 \
		wavpack

# ugly
UGLY_GST_ALL_PLUGINS+= \
		a52dec \
		amrnb \
		amrwbdec \
		cdio \
		dvdread \
		lame \
		mad \
		mpeg2dec \
		sidplay \
		twolame \
		x264


.for i in ${BASE_GST_ALL_PLUGINS} ${BAD_GST_ALL_PLUGINS} ${UGLY_GST_ALL_PLUGINS}
gst_${i}_GCONF_SCHEMAS?=	# Empty
gst_${i}_USE_SDL?=		# Empty
.endfor

CONFIG_GST_PLUGINS=	gnome_vfs
GST_ALL_PLUGINS=	${BASE_GST_ALL_PLUGINS} ${BAD_GST_ALL_PLUGINS} \
			${GOOD_GST_ALL_PLUGINS} ${UGLY_ALL_PLUGINS} \
			${CONFIG_GST_PLUGINS}

# Disable all plugins by default
.for d in ${GST_ALL_PLUGINS}
CONFIGURE_ARGS+=	--disable-${d}
.endfor
CONFIGURE_ARGS+=	--enable-${GST_PLUGIN}

CONFIGURE_ARGS+=--disable-tests \
		--disable-examples \
		--disable-cd1394 \
		--disable-acm \
		--disable-apexsink \
		--disable-alsa \
		--enable-cog \
		--enable-dvb \
		--disable-fbdev \
		--disable-directfb \
		--disable-http \
		--enable-cdrom \
		--disable-gconf \
		--disable-gconftool \
		--disable-schemas-install \
		--enable-oss \
		--enable-oss4 \
		--disable-osx_audio \
		--disable-osx_video \
		--disable-directdrawsink \
		--disable-directsoundsink \
		--disable-tarkin \
		--enable-shm \
		--enable-static \
		--disable-sunaudio \
		--disable-wildmidi \
		--disable-xine \
		--disable-ivorbis \
		--enable-x \
		--enable-xshm \
		--enable-xvideo

# we need glib 2.26 for this. (is from -bad)
CONFIGURE_ARGS+=--disable-gsettings

.if !defined(NO_GSTREAMER_COMMON)
GST_PLUGIN_SUFFIX?=	-${GST_PLUGIN}

# Enable the right plugin

CONFIGURE_ARGS:=${CONFIGURE_ARGS:S|--disable-${GST_PLUGIN}|--enable-${GST_PLUGIN}|}

GST_INC_DIR=		include/gstreamer-${VERSION}
GST_LIB_DIR=		lib/gstreamer-${VERSION}

# Auto create PLIST
PLIST=		${NONEXISTENT}

# a52dec
gst_a52dec_LIB_DEPENDS+=	liba52.so:${PORTSDIR}/audio/liba52
gst_a52dec_PLIST_FILES=	${GST_LIB_DIR}/libgsta52dec.la \
		${GST_LIB_DIR}/libgsta52dec.so
gst_a52dec_DIST=	ugly

# aalib
gst_aalib_LIB_DEPENDS+=	libaa.so:${PORTSDIR}/graphics/aalib
gst_aalib_PLIST_FILES=	${GST_LIB_DIR}/libgstaasink.so \
		${GST_LIB_DIR}/libgstaasink.la

# amrnb
gst_amrnb_BUILD_DEPENDS+=opencore-amr>=0.1.3:${PORTSDIR}/audio/opencore-amr
gst_amrnb_LIB_DEPENDS+=	libopencore-amrnb.so:${PORTSDIR}/audio/opencore-amr
gst_amrnb_PLIST_FILES=	${GST_LIB_DIR}/libgstamrnb.la \
			${GST_LIB_DIR}/libgstamrnb.so \
			share/gstreamer-${VERSION}/presets/GstAmrnbEnc.prs
gst_amrnb_PLIST_DIRSTRY=share/gstreamer-${VERSION}/presets \
			share/gstreamer-${VERSION}
gst_amrnb_DIST=		ugly

# amrwbdec
gst_amrwbdec_BUILD_DEPENDS+=	opencore-amr>=0.1.3:${PORTSDIR}/audio/opencore-amr
gst_amrwbdec_LIB_DEPENDS+=	libopencore-amrwb.so:${PORTSDIR}/audio/opencore-amr
gst_amrwbdec_CONFIGURE_ARGS+=	--enable-amrwb
gst_amrwbdec_PLIST_FILES=	${GST_LIB_DIR}/libgstamrwbdec.la \
				${GST_LIB_DIR}/libgstamrwbdec.so
gst_amrwbdec_DIST=	ugly

# annodex
gst_annodex_USE_GNOME=		libxml2
gst_annodex_PLIST_FILES=	${GST_LIB_DIR}/libgstannodex.la \
				${GST_LIB_DIR}/libgstannodex.so

# bz2
gst_bz2_PLIST_FILES=	${GST_LIB_DIR}/libgstbz2.la \
		${GST_LIB_DIR}/libgstbz2.so
gst_bz2_DIST=		bad

# cairo
gst_cairo_USE_GNOME=		cairo
gst_cairo_PLIST_FILES=		${GST_LIB_DIR}/libgstcairo.la \
				${GST_LIB_DIR}/libgstcairo.so

# cdaudio
gst_cdaudio_LIB_DEPENDS+=	libcdaudio.so:${PORTSDIR}/audio/libcdaudio
gst_cdaudio_PLIST_FILES=	${GST_LIB_DIR}/libgstcdaudio.la \
		${GST_LIB_DIR}/libgstcdaudio.so
gst_cdaudio_DIST=	bad

# cdparanoia
gst_cdparanoia_LIB_DEPENDS+=	libcdda_interface.so:${PORTSDIR}/audio/cdparanoia
gst_cdparanoia_EXTRA_LIBS+=	-lgstcdda-${VERSION}
gst_cdparanoia_PLIST_FILES=	${GST_LIB_DIR}/libgstcdparanoia.la \
		${GST_LIB_DIR}/libgstcdparanoia.so
gst_cdparanoia_DIST=	base

# cdio
gst_cdio_LIB_DEPENDS+=	libcdio.so:${PORTSDIR}/sysutils/libcdio
gst_cdio_PLIST_FILES=	${GST_LIB_DIR}/libgstcdio.la \
		${GST_LIB_DIR}/libgstcdio.so
gst_cdio_DIST=		ugly

# dts
gst_dts_LIB_DEPENDS+=	libdca.so:${PORTSDIR}/multimedia/libdca
gst_dts_PLIST_FILES=	${GST_LIB_DIR}/libgstdtsdec.la \
		${GST_LIB_DIR}/libgstdtsdec.so
gst_dts_EXTRA_LIBS+=	-ldca
gst_dts_DIST=	bad

# dv
gst_dv_LIB_DEPENDS+=	libdv.so:${PORTSDIR}/multimedia/libdv
gst_dv_PLIST_FILES=	${GST_LIB_DIR}/libgstdv.la \
			${GST_LIB_DIR}/libgstdv.so

# dvd
gst_dvd_LIB_DEPENDS+=	libdvdread.so:${PORTSDIR}/multimedia/libdvdread
gst_dvd_GST_PLUGIN_DIR=	ext/dvdread
gst_dvd_PLIST_FILES=	${GST_LIB_DIR}/libgstdvdread.la \
		${GST_LIB_DIR}/libgstdvdread.so
gst_dvd_DIST=	ugly


# esound
gst_esound_USE_GNOME+=	esound
gst_esound_GST_PLUGIN_DIR=	ext/esd
gst_esound_CONFIGURE_ENV+=	ESD_CFLAGS="`pkg-config --cflags esound`" \
		ESD_LIBS="`pkg-config --libs esound`"
gst_esound_PLIST_FILES=	${GST_LIB_DIR}/libgstesd.so \
		${GST_LIB_DIR}/libgstesd.la

# exif
# hmm not a real plugin, seems to be part of metadata?
#gst_exif_LIB_DEPENDS+=	libexif.so:${PORTSDIR}/graphics/libexif
#gst_exif_PLIST_FILES=	${GST_LIB_DIR}/libgstexif.la \
#			${GST_LIB_DIR}/libgstexif.so
#gst_exif_DIST=	bad

# faac
gst_faac_LIB_DEPENDS+=	libfaac.so:${PORTSDIR}/audio/faac
gst_faac_PLIST_FILES=	${GST_LIB_DIR}/libgstfaac.la \
	${GST_LIB_DIR}/libgstfaac.so
gst_faac_DIST=	bad

# faad
gst_faad_USE_GSTREAMER+=	bad
gst_faad_LIB_DEPENDS+=	libfaad.so:${PORTSDIR}/audio/faad
gst_faad_PLIST_FILES=	${GST_LIB_DIR}/libgstfaad.la \
		${GST_LIB_DIR}/libgstfaad.so
gst_faad_DIST=	bad

# flac
gst_flac_LIB_DEPENDS+=	libFLAC.so:${PORTSDIR}/audio/flac
gst_flac_PLIST_FILES=	${GST_LIB_DIR}/libgstflac.la \
			${GST_LIB_DIR}/libgstflac.so

# flite
gst_flite_LIB_DEPENDS+=	libflite.so:${PORTSDIR}/audio/flite
gst_flite_PLIST_FILES=	${GST_LIB_DIR}/libgstflite.la \
			${GST_LIB_DIR}/libgstflite.so
gst_flite_DIST=		bad

# gconf
gst_gconf_USE_GNOME+=	gnomeprefix gconf2
gst_gconf_GST_PLUGIN_DIR=	ext/gconf \
		gconf
gst_gconf_CONFIGURE_ARGS+=	--enable-schemas-install
gst_gconf_GCONF_SCHEMAS=	gstreamer-${GST_VERSION}.schemas
gst_gconf_PLIST_FILES=	${GST_LIB_DIR}/libgstgconfelements.so \
		${GST_LIB_DIR}/libgstgconfelements.la

# gdk_pixbuf
gst_gdk_pixbuf_USE_GNOME+=	gtk20
gst_gdk_pixbuf_GST_PLUGIN_DIR=	ext/gdk_pixbuf
gst_gdk_pixbuf_PLIST_FILES=	${GST_LIB_DIR}/libgstgdkpixbuf.la \
				${GST_LIB_DIR}/libgstgdkpixbuf.so
# gio
gst_gio_USE_GNOME+=	glib20
gst_gio_CONFIGURE_ARGS+=--enable-experimental
gst_gio_PLIST_FILES=	${GST_LIB_DIR}/libgstgio.la \
		${GST_LIB_DIR}/libgstgio.so
gst_gio_DIST=	base

# gme
gst_gme_LIB_DEPENDS+=   libgme.so:${PORTSDIR}/audio/libgme
gst_gme_PLIST_FILES=    ${GST_LIB_DIR}/libgstgme.la \
		${GST_LIB_DIR}/libgstgme.so
gst_gme_DIST=           bad

# gnomevfs
gst_gnomevfs_USE_GNOME+=	gnomevfs2
gst_gnomevfs_CONFIGURE_ARGS+=--enable-gnome_vfs
gst_gnomevfs_PLIST_FILES=	${GST_LIB_DIR}/libgstgnomevfs.la \
		${GST_LIB_DIR}/libgstgnomevfs.so
gst_gnomevfs_DIST=	base

# gsm
gst_gsm_LIB_DEPENDS+=	libgsm.so:${PORTSDIR}/audio/gsm
gst_gsm_PLIST_FILES=	${GST_LIB_DIR}/libgstgsm.la \
		${GST_LIB_DIR}/libgstgsm.so
gst_gsm_DIST=	bad

# hal
gst_hal_LIB_DEPENDS+=	libhal.so:${PORTSDIR}/sysutils/hal
gst_hal_PLIST_FILES=	${GST_LIB_DIR}/libgsthalelements.la \
		${GST_LIB_DIR}/libgsthalelements.so

# jack
gst_jack_LIB_DEPENDS+=	libjack.so:${PORTSDIR}/audio/jack
gst_jack_PLIST_FILES=	${GST_LIB_DIR}/libgstjack.la \
		${GST_LIB_DIR}/libgstjack.so
gst_jack_DIST=	good

# jpeg
gst_jpeg_LIB_DEPENDS+=	libjpeg.so:${PORTSDIR}/graphics/jpeg
gst_jpeg_PLIST_FILES=	${GST_LIB_DIR}/libgstjpeg.la \
			${GST_LIB_DIR}/libgstjpeg.so

# ladspa
gst_ladspa_BUILD_DEPENDS+=	${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
gst_ladspa_LIB_DEPENDS+=	liblrdf.so:${PORTSDIR}/textproc/liblrdf
gst_ladspa_PLIST_FILES=		${GST_LIB_DIR}/libgstladspa.la \
				${GST_LIB_DIR}/libgstladspa.so
gst_ladspa_DIST=	bad

# lame
gst_lame_LIB_DEPENDS+=	libmp3lame.so:${PORTSDIR}/audio/lame
gst_lame_PLIST_FILES=	${GST_LIB_DIR}/libgstlame.la \
		${GST_LIB_DIR}/libgstlame.so
gst_lame_DIST=	ugly

# libcaca
gst_libcaca_LIB_DEPENDS+=	libcaca.so:${PORTSDIR}/graphics/libcaca
gst_libcaca_PLIST_FILES=	${GST_LIB_DIR}/libgstcacasink.so \
		${GST_LIB_DIR}/libgstcacasink.la

# libmms
gst_libmms_LIB_DEPENDS+=	libmms.so:${PORTSDIR}/net/libmms
gst_libmms_PLIST_FILES=	${GST_LIB_DIR}/libgstmms.so \
		${GST_LIB_DIR}/libgstmms.la
gst_libmms_DIST=	bad

# libpng and the snapshot plugin
gst_libpng_LIB_DEPENDS+=	libpng15.so:${PORTSDIR}/graphics/png
gst_libpng_GST_PLUGIN_DIR=	ext/libpng
gst_libpng_PLIST_FILES=	${GST_LIB_DIR}/libgstpng.so \
		${GST_LIB_DIR}/libgstpng.la

# libvisual
gst_libvisual_LIB_DEPENDS+=	libvisual-0.4.so:${PORTSDIR}/graphics/libvisual04
gst_libvisual_PLIST_FILES=	${GST_LIB_DIR}/libgstlibvisual.la \
		${GST_LIB_DIR}/libgstlibvisual.so
gst_libvisual_DIST=	base

# mad
gst_mad_LIB_DEPENDS+=	libmad.so:${PORTSDIR}/audio/libmad \
			libid3tag.so:${PORTSDIR}/audio/libid3tag
gst_mad_PLIST_FILES=	${GST_LIB_DIR}/libgstmad.la \
		${GST_LIB_DIR}/libgstmad.so
gst_mad_DIST=	ugly

# mpeg2enc
gst_mpeg2enc_LIB_DEPENDS+=	libmjpegutils-2.0.so:${PORTSDIR}/multimedia/mjpegtools
gst_mpeg2enc_PLIST_FILES=	${GST_LIB_DIR}/libgstmpeg2enc.la \
		${GST_LIB_DIR}/libgstmpeg2enc.so
gst_mpeg2enc_DIST=	bad

# mpeg2dec
gst_mpeg2dec_LIB_DEPENDS+=	libmpeg2.so:${PORTSDIR}/multimedia/libmpeg2
gst_mpeg2dec_PLIST_FILES=	${GST_LIB_DIR}/libgstmpeg2dec.la \
		${GST_LIB_DIR}/libgstmpeg2dec.so
gst_mpeg2dec_DIST=	ugly

# musepack
gst_musepack_LIB_DEPENDS+=	libmpcdec.so:${PORTSDIR}/audio/musepack
gst_musepack_PLIST_FILES=	${GST_LIB_DIR}/libgstmusepack.la \
		${GST_LIB_DIR}/libgstmusepack.so
gst_musepack_DIST=	bad

# nas
gst_nas_LIB_DEPENDS+=	libaudio.so:${PORTSDIR}/audio/nas
gst_nas_DIST=	bad
gst_nas_PLIST_FILES=	${GST_LIB_DIR}/libgstnassink.la \
		${GST_LIB_DIR}/libgstnassink.so

# neon
gst_neon_LIB_DEPENDS+=	libneon.so:${PORTSDIR}/www/neon29
gst_neon_CONFIGURE_ENV+=	NEON_CFLAGS="-I${LOCALBASE}/include/neon"
gst_neon_PLIST_FILES=	${GST_LIB_DIR}/libgstneonhttpsrc.la \
			${GST_LIB_DIR}/libgstneonhttpsrc.so
gst_neon_DIST=		bad

# ogg
gst_ogg_LIB_DEPENDS+=	libogg.so:${PORTSDIR}/audio/libogg
gst_ogg_EXTRA_LIBS+=	-lgstriff-${VERSION}
gst_ogg_PLIST_FILES=	${GST_LIB_DIR}/libgstogg.la \
		${GST_LIB_DIR}/libgstogg.so
gst_ogg_DIST=	base

# opencv
gst_opencv_LIB_DEPENDS+=libopencv_highgui.so:${PORTSDIR}/graphics/opencv
gst_opencv_PLIST_FILES= ${GST_LIB_DIR}/libgstopencv.la \
			${GST_LIB_DIR}/libgstopencv.so
gst_opencv_DIST=	bad

# opus
gst_opus_LIB_DEPENDS+=	libopus.so:${PORTSDIR}/audio/opus
gst_opus_PLIST_FILES=	${GST_LIB_DIR}/libgstopus.la \
			${GST_LIB_DIR}/libgstopus.so
gst_opus_DIST=		bad

# pango
gst_pango_USE_GNOME+=	pango
gst_pango_PLIST_FILES=	${GST_LIB_DIR}/libgstpango.la \
		${GST_LIB_DIR}/libgstpango.so
gst_pango_DIST=	base

# pulse
gst_pulse_LIB_DEPENDS=	libpulse.so:${PORTSDIR}/audio/pulseaudio
gst_pulse_PLIST_FILES=	${GST_LIB_DIR}/libgstpulse.la \
		${GST_LIB_DIR}/libgstpulse.so
gst_pulse_DIST=	good

# resindvd
gst_resindvd_BUILD_DEPENDS+=	libdvdnav>=4.1.2:${PORTSDIR}/multimedia/libdvdnav
gst_resindvd_RUN_DEPENDS+=	libdvdnav>=4.1.2:${PORTSDIR}/multimedia/libdvdnav
gst_resindvd_PLIST_FILES=	${GST_LIB_DIR}/libresindvd.la \
				${GST_LIB_DIR}/libresindvd.so
gst_resindvd_DIST=		bad

# sdl
gst_sdl_USE_SDL+=	sdl
gst_sdl_PLIST_FILES=	${GST_LIB_DIR}/libgstsdl.la \
		${GST_LIB_DIR}/libgstsdl.so
gst_sdl_DIST=	bad

# shout2
gst_shout2_LIB_DEPENDS+=	libshout.so.5:${PORTSDIR}/audio/libshout2
gst_shout2_PLIST_FILES=		${GST_LIB_DIR}/libgstshout2.la \
				${GST_LIB_DIR}/libgstshout2.so

# sidplay
gst_sidplay_LIB_DEPENDS+=	libsidplay.so:${PORTSDIR}/audio/libsidplay
gst_sidplay_PLIST_FILES=	${GST_LIB_DIR}/libgstsid.so \
		${GST_LIB_DIR}/libgstsid.la
gst_sidplay_DIST=	ugly

# sndfile
gst_sndfile_LIB_DEPENDS+=	libsndfile.so:${PORTSDIR}/audio/libsndfile
gst_sndfile_PLIST_FILES=	${GST_LIB_DIR}/libgstsndfile.la \
		${GST_LIB_DIR}/libgstsndfile.so
gst_sndfile_DIST=	bad

# soundtouch
gst_soundtouch_LIB_DEPENDS+=	libSoundTouch.so:${PORTSDIR}/audio/soundtouch
gst_soundtouch_PLIST_FILES=	${GST_LIB_DIR}/libgstsoundtouch.la \
		${GST_LIB_DIR}/libgstsoundtouch.so
gst_soundtouch_DIST=	bad

# souphttpsrc
gst_soup_LIB_DEPENDS+=	libsoup-2.4.so:${PORTSDIR}/devel/libsoup
gst_soup_GST_PLUGIN_DIR=ext/soup
gst_soup_PLIST_FILES=	${GST_LIB_DIR}/libgstsouphttpsrc.la \
			${GST_LIB_DIR}/libgstsouphttpsrc.so

# spc
gst_spc_LIB_DEPENDS+=	libopenspc.so:${PORTSDIR}/audio/libopenspc
gst_spc_PLIST_FILES=	${GST_LIB_DIR}/libgstspc.la \
		${GST_LIB_DIR}/libgstspc.so
gst_spc_DIST=		bad

# speex
gst_speex_LIB_DEPENDS+=	libspeex.so:${PORTSDIR}/audio/speex
gst_speex_PLIST_FILES=	${GST_LIB_DIR}/libgstspeex.la \
			${GST_LIB_DIR}/libgstspeex.so

# schro(edinger)
gst_schroedinger_LIB_DEPENDS+=	libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
gst_schroedinger_CONFIGURE_ARGS+=--enable-schro
gst_schroedinger_PLIST_FILES=	${GST_LIB_DIR}/libgstschro.la \
				${GST_LIB_DIR}/libgstschro.so
gst_schroedinger_DIST=		bad

# swfdec
gst_swfdec_LIB_DEPENDS+=libswfdec-0.4.so:${PORTSDIR}/graphics/swfdec
gst_swfdec_DIST=	bad

# taglib
gst_taglib_LIB_DEPENDS+=	libtag.so:${PORTSDIR}/audio/taglib
gst_taglib_PLIST_FILES=		${GST_LIB_DIR}/libgsttaglib.la \
				${GST_LIB_DIR}/libgsttaglib.so

# theora
gst_theora_LIB_DEPENDS+=	libtheora.so:${PORTSDIR}/multimedia/libtheora
gst_theora_PLIST_FILES=		${GST_LIB_DIR}/libgsttheora.la \
		${GST_LIB_DIR}/libgsttheora.so
gst_theora_DIST=	base

# twolame
gst_twolame_LIB_DEPENDS+=	libtwolame.so:${PORTSDIR}/audio/twolame
gst_twolame_PLIST_FILES=	${GST_LIB_DIR}/libgsttwolame.la \
				${GST_LIB_DIR}/libgsttwolame.so
gst_twolame_DIST=		ugly

# gst_v4l2
gst_gst_v4l2_LIB_DEPENDS+=	libv4l2.so:${PORTSDIR}/multimedia/libv4l
.if ${OSVERSION} >= 800000
gst_gst_v4l2_RUN_DEPENDS+=	webcamd:${PORTSDIR}/multimedia/webcamd
.endif
gst_gst_v4l2_PLIST_FILES=	${GST_LIB_DIR}/libgstvideo4linux2.la \
		${GST_LIB_DIR}/libgstvideo4linux2.so
gst_gst_v4l2_CONFIGURE_ARGS+=	--enable-gst_v4l2
gst_gst_v4l2_GST_PLUGIN_DIR=sys/v4l2
gst_gst_v4l2_DIST=	good

# vdpau
gst_vdpau_LIB_DEPENDS+=	libvdpau.so:${PORTSDIR}/multimedia/libvdpau
gst_vdpau_GST_PLUGIN_DIR=sys/vdpau
gst_vdpau_PLIST_FILES=	${GST_INC_DIR}/gst/vdpau/gstvdp.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpbuffer.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpbufferpool.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpdecoder.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpdevice.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpoutputbuffer.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpoutputbufferpool.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpoutputsrcpad.h \
			${GST_INC_DIR}/gst/vdpau/gstvdputils.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpvideobuffer.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpvideobufferpool.h \
			${GST_INC_DIR}/gst/vdpau/gstvdpvideosrcpad.h \
			${GST_LIB_DIR}/libgstvdpau.la \
			${GST_LIB_DIR}/libgstvdpau.so \
			lib/libgstvdp-${VERSION}.la \
			lib/libgstvdp-${VERSION}.so \
			lib/libgstvdp-${VERSION}.so.0
gst_vdpau_PLIST_DIRS=	${GST_INC_DIR}/gst/vdpau
gst_vdpau_DIST=		bad

# vorbis
gst_vorbis_USE_GSTREAMER+=	ogg
gst_vorbis_LIB_DEPENDS+=	libvorbis.so:${PORTSDIR}/audio/libvorbis
gst_vorbis_EXTRA_LIBS+=	-lgsttag-${VERSION} -lgstaudio-${VERSION}
gst_vorbis_PLIST_FILES=	${GST_LIB_DIR}/libgstvorbis.la \
		${GST_LIB_DIR}/libgstvorbis.so
gst_vorbis_DIST=	base

# vp8
gst_vp8_LIB_DEPENDS+=	libvpx.so:${PORTSDIR}/multimedia/libvpx
gst_vp8_PLIST_FILES=	${GST_LIB_DIR}/libgstvp8.la \
			${GST_LIB_DIR}/libgstvp8.so
gst_vp8_DIST=		bad

# x264
gst_x264_LIB_DEPENDS+=	libx264.so:${PORTSDIR}/multimedia/x264
gst_x264_PLIST_FILES=	${GST_LIB_DIR}/libgstx264.la \
		${GST_LIB_DIR}/libgstx264.so \
		share/gstreamer-${VERSION}/presets/GstX264Enc.prs
gst_x264_PLIST_DIRSTRY=	share/gstreamer-${VERSION}/presets \
			share/gstreamer-${VERSION}
gst_x264_DIST=	ugly

# xvid
gst_xvid_LIB_DEPENDS+=	libxvidcore.so:${PORTSDIR}/multimedia/xvid
gst_xvid_PLIST_FILES=	${GST_LIB_DIR}/libgstxvid.la \
		${GST_LIB_DIR}/libgstxvid.so
gst_xvid_DIST=	bad

# wavpack
gst_wavpack_LIB_DEPENDS+=	libwavpack.so:${PORTSDIR}/audio/wavpack
gst_wavpack_PLIST_FILES=	${GST_LIB_DIR}/libgstwavpack.la \
				${GST_LIB_DIR}/libgstwavpack.so

.endif # NO_GSTREAMER_COMMON

gst_${GST_PLUGIN}_DIST?=	good
DIST=	${gst_${GST_PLUGIN}_DIST}

.if !defined(NO_GSTREAMER_COMMON)
gst_${GST_PLUGIN}_BUILD_DEPENDS?=
gst_${GST_PLUGIN}_LIB_DEPENDS?=
gst_${GST_PLUGIN}_RUN_DEPENDS?=
gst_${GST_PLUGIN}_PLIST_FILES?=${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so \
			${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.a \
			${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.la
gst_${GST_PLUGIN}_EXTRA_LIBS?=
gst_${GST_PLUGIN}_PREBUILD_DIR?=
gst_${GST_PLUGIN}_GST_PLUGIN_DIR?=	ext/${GST_PLUGIN}
gst_${GST_PLUGIN}_POSTBUILD_DIR?=
gst_${GST_PLUGIN}_USE_GNOME?=
gst_${GST_PLUGIN}_CONFIGURE_ENV?=
gst_${GST_PLUGIN}_GCONF_SCHEMAS?=
gst_${GST_PLUGIN}_GLIB_SCHEMAS?=
gst_${GST_PLUGIN}_CONFIGURE_ARGS?=
gst_${GST_PLUGIN}_USE_SDL?=
gst_${GST_PLUGIN}_USE_GSTREAMER?=

BUILD_DEPENDS+=	${gst_${GST_PLUGIN}_BUILD_DEPENDS}
LIB_DEPENDS+=	${gst_${GST_PLUGIN}_LIB_DEPENDS}
RUN_DEPENDS+=	${gst_${GST_PLUGIN}_RUN_DEPENDS}
PLIST_FILES=	${gst_${GST_PLUGIN}_PLIST_FILES}
PLIST_DIRS=	${gst_${GST_PLUGIN}_PLIST_DIRS}
PLIST_DIRSTRY=	${gst_${GST_PLUGIN}_PLIST_DIRSTRY}
EXTRA_LIBS+=	${gst_${GST_PLUGIN}_EXTRA_LIBS}
USE_GNOME+=	${gst_${GST_PLUGIN}_USE_GNOME}
CONFIGURE_ENV+=	${gst_${GST_PLUGIN}_CONFIGURE_ENV}
.if ${gst_${GST_PLUGIN}_GCONF_SCHEMAS}!=""
GCONF_SCHEMAS=	${gst_${GST_PLUGIN}_GCONF_SCHEMAS}
.endif
.if ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}!=""
GLIB_SCHEMAS=  ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}
.endif
CONFIGURE_ARGS+=${gst_${GST_PLUGIN}_CONFIGURE_ARGS}
.if ${gst_${GST_PLUGIN}_USE_SDL}!=""
USE_SDL=	${gst_${GST_PLUGIN}_USE_SDL}
.endif
USE_GSTREAMER+=	${gst_${GST_PLUGIN}_USE_GSTREAMER} ${DIST:S/base/yes/}
GST_PREBUILD_DIR=${gst_${GST_PLUGIN}_GST_PREBUILD_DIR}
GST_PLUGIN_DIR=	${gst_${GST_PLUGIN}_GST_PLUGIN_DIR}
GST_POSTBUILD_DIR=${gst_${GST_PLUGIN}_GST_POSTBUILD_DIR}

.if !target(do-build)
do-build:
.for dir in ${GST_PREBUILD_DIR} ${GST_PLUGIN_DIR} ${GST_POSTBUILD_DIR}
	@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
		${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
.endfor
.endif

.if !target(do-install)
do-install:
.for dir in ${GST_PLUGIN_DIR}
	@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
		${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
.endfor
.endif
.endif
