menuconfig BR2_PACKAGE_GST1_PLUGINS_UGLY
	bool "gst1-plugins-ugly"
	select BR2_PACKAGE_GST1_PLUGINS_BASE
	help
	  A set of well-supported plug-ins for GStreamer, but might pose
	  problems for distributors.

	  http://gstreamer.freedesktop.org/

if BR2_PACKAGE_GST1_PLUGINS_UGLY

comment "dependency-less plugins"

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX
	bool "asfdemux"
	help
	  Demuxes and muxes audio and video in Microsofts ASF format

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC
	bool "dvdlpcmdec"
	help
	  Decode DVD LPCM frames into standard PCM

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB
	bool "dvdsub"
	help
	  DVD subtitle parser and decoder

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX
	bool "xingmux"
	help
	  Add XING tags to mpeg audio files

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_REALMEDIA
	bool "realmedia"
	help
	  RealMedia support plugins

comment "plugins with external dependencies (there may be more available)"

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDREAD
	bool "dvdread"
	select BR2_PACKAGE_LIBDVDREAD
	help
	  Access a DVD with dvdread

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME
	bool "lame (*.mp3 audio encoder)"
	select BR2_PACKAGE_LAME
	help
	  Encode MP3s with LAME

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123
	bool "mpg123 (*.mp3 audio)"
	select BR2_PACKAGE_MPG123
	help
	  mp3 decoding based on the mpg123 library

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC
	bool "mpeg2dec"
	select BR2_PACKAGE_LIBMPEG2
	help
	  LibMpeg2 decoder

config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264
	bool "x264"
	select BR2_PACKAGE_X264
	help
	  x264 encoder

# Note: to get descriptions use the following.
# # find . -name 'plugin-*.xml' | xargs grep -m 1 description
endif
