menuconfig BR2_PACKAGE_GST_PLUGINS_GOOD
	bool "gst-plugins-good"
	select BR2_PACKAGE_GST_PLUGINS_BASE
	help
	  A set of well-supported plug-ins for GStreamer under the
	  preferred license.

	  http://gstreamer.freedesktop.org/

if BR2_PACKAGE_GST_PLUGINS_GOOD

config BR2_PACKAGE_GST_PLUGINS_GOOD_JPEG
	bool "jpeg (JPEG support)"
	select BR2_PACKAGE_JPEG

config BR2_PACKAGE_GST_PLUGINS_GOOD_PNG
	bool "png (PNG support)"
	select BR2_PACKAGE_LIBPNG

config BR2_PACKAGE_GST_PLUGINS_GOOD_BZ2
	bool "bz2 support"
	depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA
	select BR2_PACKAGE_BZIP2
	help
	  Enable bz2 support for the following plugins:
	  matroska

config BR2_PACKAGE_GST_PLUGINS_GOOD_ZLIB
	bool "zlib support"
	depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA
	select BR2_PACKAGE_ZLIB
	help
	  Enable zlib support for the following plugins:
	  id3demux, isomp4, matroska

comment "dependency-less plugins"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ALPHA
	bool "alpha"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_APETAG
	bool "apetag"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOFX
	bool "audiofx"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS
	bool "audioparsers"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUPARSE
	bool "auparse"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUTODETECT
	bool "autodetect"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AVI
	bool "avi (*.avi video)"
	default y

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CUTTER
	bool "cutter"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEBUGUTILS
	bool "debugutils"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEINTERLACE
	bool "deinterlace"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EFFECTV
	bool "effectv"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EQUALIZER
	bool "equalizer"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLV
	bool "flv"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLX
	bool "flx"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM
	bool "goom"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM2K1
	bool "goom2k1"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX
	bool "id3demux (*.mp3 audio)"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ICYDEMUX
	bool "icydemux"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE
	bool "imagefreeze"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_INTERLEAVE
	bool "interleave"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4
	bool "isomp4"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LAW
	bool "law"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LEVEL
	bool "level"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA
	bool "matroska"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MONOSCOPE
	bool "monoscope"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIFILE
	bool "multifile"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIPART
	bool "multipart"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_REPLAYGAIN
	bool "replaygain"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTP
	bool "rtp"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTPMANAGER
	bool "rtpmanager"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTSP
	bool "rtsp"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SHAPEWIPE
	bool "shapewipe"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SMPTE
	bool "smpte"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPECTRUM
	bool "spectrum"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_UDP
	bool "udp"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOBOX
	bool "videobox"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOCROP
	bool "videocrop"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOFILTER
	bool "videofilter"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOMIXER
	bool "videomixer"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVENC
	bool "wavenc"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPARSE
	bool "wavparse (*.wav audio)"
	default y

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_Y4M
	bool "y4m"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_V4L2
	bool "v4l2"

comment "plugins with external dependencies"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
	bool "annodex (XML Library)"
	select BR2_PACKAGE_LIBXML2

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
	bool "cairo"
	select BR2_PACKAGE_CAIRO
	select BR2_PACKAGE_CAIRO_PNG

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC
	bool "flac (libFLAC)"
	depends on BR2_USE_WCHAR # flac
	select BR2_PACKAGE_FLAC

comment "flac needs a toolchain w/ wchar"
	depends on !BR2_USE_WCHAR

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GDKPIXBUF
	bool "gdkpixbuf"
	depends on BR2_USE_WCHAR # gdk-pixbuf -> libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # gdk-pixbuf -> libglib2
	select BR2_PACKAGE_GDK_PIXBUF

comment "gdkpixbuf needs a toolchain w/ wchar, threads"
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS
	bool "ossaudio (OSS audio)"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS4
	bool "oss4 (Open Sound System 4)"

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
	bool "pulseaudio"
	depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
	depends on BR2_USE_MMU # pulseaudio
	depends on !BR2_STATIC_LIBS # pulseaudio
	depends on BR2_USE_WCHAR # pulseaudio
	depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # pulseaudio
	select BR2_PACKAGE_PULSEAUDIO

comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
	depends on BR2_USE_MMU
	depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
	bool "souphttpsrc (http client)"
	depends on BR2_USE_WCHAR # libsoup -> glib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # libsoup -> glib2
	select BR2_PACKAGE_LIBSOUP

comment "souphttpsrc needs a toolchain w/ wchar, threads"
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPEEX
	bool "speex"
	select BR2_PACKAGE_SPEEX

config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPACK
	bool "wavpack (*.wv audio)"
	select BR2_PACKAGE_WAVPACK

endif
