menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD
	bool "gst1-plugins-bad"
	select BR2_PACKAGE_GST1_PLUGINS_BASE
	help
	  A set of plug-ins for GStreamer that may be of poor quality or
	  lacking some features.

	  http://gstreamer.freedesktop.org/

if BR2_PACKAGE_GST1_PLUGINS_BAD

comment "libraries with external dependencies"

menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL
	bool "opengl"
	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES

if BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL

config BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
	def_bool BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW

comment "The opengl library needs an API, a platform and a window system"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL

comment "APIs"

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
	bool

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL
	bool "opengl"
	default y
	depends on BR2_PACKAGE_HAS_LIBGL
	select BR2_PACKAGE_LIBGLU
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API

comment "opengl needs an OpenGL backend"
	depends on !BR2_PACKAGE_HAS_LIBGL

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2
	bool "gles2"
	default y
	depends on BR2_PACKAGE_HAS_LIBGLES
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API

comment "gles2 needs an OpenGL ES backend"
	depends on !BR2_PACKAGE_HAS_LIBGLES

comment "Platforms"

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
	bool

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX
	bool "glx"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL
	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
	depends on !BR2_PACKAGE_RPI_USERLAND # x11
	select BR2_PACKAGE_XLIB_LIBXRENDER
	select BR2_PACKAGE_XPROTO_GLPROTO
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
	help
	  OpenGL Extension to the X Window System

comment "glx not supported with rpi-userland"
	depends on BR2_PACKAGE_RPI_USERLAND

comment "glx needs the opengl API and modular X.org"
	depends on !BR2_PACKAGE_RPI_USERLAND && \
		(!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL || \
		!BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
	bool "egl"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
	depends on BR2_PACKAGE_HAS_LIBEGL
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM

comment "egl needs an API and an EGL backend"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API || \
		!BR2_PACKAGE_HAS_LIBEGL

comment "Window systems"

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
	bool

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11
	bool "x11"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
	depends on !BR2_PACKAGE_RPI_USERLAND
	depends on BR2_PACKAGE_XORG7
	select BR2_PACKAGE_XLIB_LIBX11
	select BR2_PACKAGE_XLIB_LIBXEXT
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW

comment "x11 not supported with rpi-userland"
	depends on BR2_PACKAGE_RPI_USERLAND

comment "x11 needs a platform and X.org"
	depends on !BR2_PACKAGE_RPI_USERLAND && \
		(!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM || \
		!BR2_PACKAGE_XORG7)

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
	bool "wayland"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
	depends on BR2_PACKAGE_WAYLAND
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW

comment "wayland needs the egl platform and the wayland package"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \
		!BR2_PACKAGE_WAYLAND

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX
	bool "dispmanx"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
	depends on BR2_PACKAGE_RPI_USERLAND
	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
	help
	  Raspberry Pi's Dispmanx windowing system

comment "dispmanx needs the egl platform and rpi-userland"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \
		!BR2_PACKAGE_RPI_USERLAND

endif

comment "opengl needs an OpenGL or OpenGL ES backend"
	depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES

comment "dependency-less plugins"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP
	bool "accurip"
	help
	  Accurip plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC
	bool "adpcmdec"
	help
	  ADPCM decoder

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC
	bool "adpcmenc"
	help
	  ADPCM encoder

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF
	bool "aiff"
	help
	  Create and parse Audio interchange File Format (AIFF) files

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX
	bool "asfmux"
	help
	  ASF Muxer Plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD
	bool "audiofxbad"
	help
	  Audio filters plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER
	bool "audiomixer"
	help
	  Audio mixer plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR
	bool "compositor"
	help
	  Video compositor plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS
	bool "audiovisualizers"
	help
	  Creates video visualizations of audio input

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT
	bool "autoconvert"
	help
	  Selects convertor element based on caps

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER
	bool "bayer"
	help
	  Elements to convert Bayer images

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2
	bool "camerabin2"
	help
	  Take image snapshots and record movies from camera

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE
	bool "cdxaparse"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS
	bool "coloreffects"
	help
	  Color Look-up Table filters

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC
	bool "dataurisrc"
	help
	  data: URI source

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP
	bool "dccp"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS
	bool "debugutils"
	help
	  Collection of elements that may or may not be useful for debugging

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS
	bool "dtls"
	select BR2_PACKAGE_OPENSSL
	help
	  DTLS plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY
	bool "dvdsuboverlay"
	help
	  DVB subtitle renderer plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU
	bool "dvdspu"
	help
	  DVD Sub-picture Overlay element

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY
	bool "faceoverlay"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL
	bool "festival"
	help
	  Synthesizes plain text into audio

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS
	bool "fieldanalysis"
	help
	  Video field analysis

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB
	bool "freeverb"
	help
	  Reverberation/room effect

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R
	bool "frei0r"
	help
	  frei0r plugin library

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS
	bool "gaudieffects"
	help
	  Gaudi video effects

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM
	bool "geometrictransform"
	help
	  Various geometric image transform elements

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP
	bool "gdp"
	help
	  Payload/depayload GDP packets

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE
	bool "hdvparse"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG
	bool "id3tag"
	help
	  ID3 v1 and v2 muxing plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER
	bool "inter"
	help
	  plugin for inter-pipeline communication

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE
	bool "interlace"
	help
	  Create an interlaced video stream

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE
	bool "ivfparse"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC
	bool "ivtc"
	help
	  Inverse Telecine plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR
	bool "jp2kdecimator"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT
	bool "jpegformat"
	help
	  JPEG interchange format plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB
	bool "librfb"
	help
	  Connects to a VNC server and decodes RFB stream

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER
	bool "liveadder"
	help
	  Adds multiple live discontinuous streams

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI
	bool "midi"
	help
	  MIDI plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX
	bool "mpegdemux"
	help
	  MPEG-PS demuxer

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX
	bool "mpegtsdemux"
	help
	  MPEG TS demuxer

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX
	bool "mpegtsmux"
	help
	  MPEG-TS muxer

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX
	bool "mpegpsmux"
	help
	  MPEG-PS muxer

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE
	bool "mve"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF
	bool "mxf"
	help
	  MXF plugin library

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX
	bool "nuvdemux"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF
	bool "onvif"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT
	bool "patchdetect"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE
	bool "pcapparse"
	help
	  Element parsing raw pcap streams

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM
	bool "pnm"
	help
	  PNM plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE
	bool "rawparse"
	help
	  Parses byte streams into raw frames

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE
	bool "removesilence"
	help
	  Removes silence from an audio stream

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP
	bool "rtp"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI
	bool "sdi"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP
	bool "sdp"
	help
	  configure streaming sessions using SDP

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP
	bool "segmentclip"
	help
	  Segment clip elements

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN
	bool "siren"
	help
	  Siren encoder/decoder/payloader/depayloader plugins

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH
	bool "smooth"
	help
	  Apply a smooth filter to an image

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED
	bool "speed"
	help
	  Set speed/pitch on audio/raw streams (resampler)

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC
	bool "subenc"
	help
	  subtitle encoders

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO
	bool "stereo"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA
	bool "tta"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS
	bool "videofilters"
	help
	  Video filters in gst-plugins-bad

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE
	bool "videomeasure"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS
	bool "videoparsers"
	help
	  videoparsers

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL
	bool "videosignal"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC
	bool "vmnc"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M
	bool "y4m"
	help
	  Demuxes/decodes YUV4MPEG streams

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF
	bool "yadif"
	help
	  YADIF deinterlacing filter

comment "plugins with external dependencies"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SHM
	bool "shm"
	help
	  shared memory sink source

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD
	bool "vcd"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK
	bool "apexsink"
	select BR2_PACKAGE_OPENSSL

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER
	bool "assrender"
	select BR2_PACKAGE_LIBASS

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC
	bool "voaacenc"
	select BR2_PACKAGE_VO_AACENC

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2
	bool "bz2"
	select BR2_PACKAGE_BZIP2
	help
	  Compress or decompress streams

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL
	bool "curl"
	select BR2_PACKAGE_LIBCURL
	help
	  libcurl-based elements

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH
	bool "dash"
	select BR2_PACKAGE_LIBXML2
	help
	  DASH demuxer plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK
	depends on BR2_INSTALL_LIBSTDCPP
	bool "decklink"
	help
	  Blackmagic Decklink plugin

comment "decklink needs a toolchain w/ C++"
	depends on !BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB
	bool "directfb"
	depends on BR2_PACKAGE_DIRECTFB
	default y

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
	bool "wayland"
	depends on BR2_PACKAGE_WAYLAND
	default y
	help
	  Wayland Video Sink

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP
	bool "webp"
	select BR2_PACKAGE_WEBP
	help
	  Webp image format plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FAAD
	bool "faad"
	select BR2_PACKAGE_FAAD2
	help
	  Free AAC Decoder (FAAD)

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV
	bool "fbdev"
	help
	  Linux framebuffer video sink

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS
	bool "libmms"
	depends on BR2_USE_WCHAR # libmms -> libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # libmms -> libglib2
	select BR2_PACKAGE_LIBMMS
	help
	  Microsoft Multi Media Server streaming protocol support

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

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC
	bool "mpeg2enc"
	select BR2_PACKAGE_LIBMPEG2
	help
	  High-quality MPEG-1/2 video encoder

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123
	bool "mpg123"
	select BR2_PACKAGE_MPG123
	depends on BR2_USE_MMU # mpg123
	help
	  mp3 decoding based on the mpg123 library

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK
	bool "musepack"
	select BR2_PACKAGE_MUSEPACK

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON
	bool "neon"
	select BR2_PACKAGE_NEON
	help
	  lib neon http client src

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENAL
	bool "openal"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
	depends on BR2_PAKCAGE_OPENAL_ARCH_SUPPORTS
	select BR2_PACKAGE_OPENAL

comment "openal plugin needs a toolchain w/ NPTL, C++"
	depends on BR2_PAKCAGE_OPENAL_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
		|| !BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV
	bool "opencv"
	depends on BR2_PACKAGE_OPENCV
	# Remove the following opencv modules when gstreamer fixes the
	# problem of including the old "cv.h" header
	# bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163
	select BR2_PACKAGE_OPENCV_LIB_CALIB3D
	select BR2_PACKAGE_OPENCV_LIB_CONTRIB
	select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
	select BR2_PACKAGE_OPENCV_LIB_FLANN
	select BR2_PACKAGE_OPENCV_LIB_IMGPROC
	select BR2_PACKAGE_OPENCV_LIB_LEGACY
	select BR2_PACKAGE_OPENCV_LIB_ML
	select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
	select BR2_PACKAGE_OPENCV_LIB_VIDEO
	help
	  GStreamer OpenCV Plugins

comment "opencv plugin needs OpenCV-2.4"
	depends on !BR2_PACKAGE_OPENCV

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264
	bool "openh264"
	depends on BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS
	depends on BR2_INSTALL_LIBSTDCPP # libopenh264
	depends on !BR2_STATIC_LIBS # libopenh264
	depends on BR2_TOOLCHAIN_HAS_THREADS # libopenh264
	select BR2_PACKAGE_LIBOPENH264
	help
	  OpenH264 based encoding/decoding plugin

comment "openh264 plugin needs a toolchain w/ C++, dynamic library, threads"
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
		BR2_STATIC_LIBS
	depends on BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG
	bool "openjpeg"
	select BR2_PACKAGE_OPENJPEG
	help
	  GStreamer OpenJPEG plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS
	bool "opus"
	select BR2_PACKAGE_OPUS
	help
	  OPUS plugin library

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG
	bool "rsvg"
	depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
	select BR2_PACKAGE_LIBRSVG
	help
	  RSVG plugin library

comment "rsvg plugin needs a toolchain w/ C++"
	depends on !BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_SYNC_4

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
	bool "gl"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL

comment "gl needs the gst1-plugins-bad opengl library"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL
	bool "sdl"
	select BR2_PACKAGE_SDL

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE
	bool "sndfile"
	select BR2_PACKAGE_LIBSNDFILE

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVB
	bool "dvb"
	select BR2_PACKAGE_DTV_SCAN_TABLES
	# FEC_2_5 / QAM_4_NR definitions
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
	help
	  DVB elements

comment "dvb needs a toolchain w/ headers >= 3.7"
	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS
	bool "hls"
	select BR2_PACKAGE_GNUTLS
	help
	  Fragmented streaming plugins

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265
	bool "x265"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS
	select BR2_PACKAGE_X265
	help
	  x265 encoding plugin

comment "x265 needs a toolchain w/ C++, dynamic library"
	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS

endif
