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.

	  https://gstreamer.freedesktop.org/

if BR2_PACKAGE_GST1_PLUGINS_BAD

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_AUDIOBUFFERSPLIT
	bool "audiobuffersplit"
	help
	  Audio buffersplit plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD
	bool "audiofxbad"
	help
	  Audio filters plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY
	bool "audiolatency"
	help
	  Audio latency plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX
	bool "audiomixmatrix"
	help
	  Audio N:M mixer 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_COLOREFFECTS
	bool "coloreffects"
	help
	  Color Look-up Table filters

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_DVBSUBENC
	bool "dvbsubenc"
	help
	  DVB subpicture encoding support

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY
	bool "dvbsuboverlay"
	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_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_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_MXF
	bool "mxf"
	help
	  MXF plugin library

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM
	bool "netsim"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF
	bool "onvif"

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_PROXY
	bool "proxy"
	help
	  Proxy 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_RIST
	bool "rist"
	help
	  RIST streaming

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP2
	bool "rtmp2"
	help
	  RTMP sink/source (rtmp2sink, rtmp2src)

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP2
	bool "rtp"
	help
	  RTP (rtpsrc/rtpsink)

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP
	bool "rtmp"
	select BR2_PACKAGE_RTMPDUMP
	help
	  RTMP plugin

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_SWITCHBIN
	bool "switchbin"
	help
	  Switching between paths based on input caps

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE
	bool "timecode"

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

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL
	bool "videoframe_audiolevel"
	help
	  videoframe_audiolevel

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

comment "plugins with external dependencies"

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER
	bool "assrender"
	depends on BR2_INSTALL_LIBSTDCPP # libass -> harfbuzz
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libass -> harfbuzz
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libass -> harfbuzz
	select BR2_PACKAGE_LIBASS

comment "assrender plugin needs a toolchain w/ C++, gcc => 4.8"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ
	bool "bluez"
	depends on BR2_USE_WCHAR # bluez5_utils -> libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # bluez5_utils -> dbus, libglib2
	depends on BR2_USE_MMU # bluez5_utils -> dbus
	depends on !BR2_STATIC_LIBS # bluez5_utils -> uses dlfcn
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils
	select BR2_PACKAGE_BLUEZ5_UTILS
	help
	  Bluetooth audio A2DP/AVDTP sink, AVDTP source plugin

comment "bluez plugin needs a toolchain w/ wchar, threads, headers >= 3.4, dynamic library"
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on BR2_USE_MMU

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
	bool "decklink"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS # <dlfcn.h>
	help
	  Blackmagic Decklink plugin

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

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB
	bool "directfb"
	default y
	depends on BR2_PACKAGE_DIRECTFB

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVB
	bool "dvb"
	# FEC_2_5 / QAM_4_NR definitions
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
	select BR2_PACKAGE_DTV_SCAN_TABLES
	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_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_FDK_AAC
	bool "fdk-aac"
	depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS
	depends on BR2_INSTALL_LIBSTDCPP
	select BR2_PACKAGE_FDK_AAC
	help
	  MPEG AAC encoder/decoder

comment "fdk-aac needs a toolchain w/ C++"
	depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FLUIDSYNTH
	bool "fluidsynth"
	depends on !BR2_STATIC_LIBS # fluidsynth
	depends on BR2_USE_WCHAR # fluidsynth
	depends on BR2_TOOLCHAIN_HAS_THREADS # fluidsynth
	depends on BR2_USE_MMU # fluidsynth
	select BR2_PACKAGE_FLUIDSYNTH
	help
	  Fluidsynth MIDI decoder plugin

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

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
	bool "gl"
	default y
	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL

comment "gl needs the gst1-plugins-base opengl library"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS
	bool "hls"
	select BR2_PACKAGE_NETTLE if !(BR2_PACKAGE_LIBGCRYPT || BR2_PACKAGE_OPENSSL)
	help
	  Fragmented streaming plugins

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS
	bool "kmssink"
	depends on BR2_TOOLCHAIN_HAS_THREADS #  libdrm -> libpthread-stubs
	select BR2_PACKAGE_LIBDRM
	help
	  KMS 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_DTLS
	bool "dtls"
	select BR2_PACKAGE_OPENSSL
	help
	  DTLS plugin

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML
	bool "ttml"
	depends on BR2_USE_WCHAR # pango -> glib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> glib2
	depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
	select BR2_PACKAGE_CAIRO
	select BR2_PACKAGE_LIBXML2
	select BR2_PACKAGE_PANGO
	help
	  Timed Text Markup Language (TTML) subtitle plugin

comment "ttml needs a toolchain w/ wchar, threads, C++"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC
	bool "mpeg2enc"
	depends on BR2_USE_MMU # fork
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_LIBMPEG2
	select BR2_PACKAGE_MJPEGTOOLS
	help
	  High-quality MPEG-1/2 video encoder

comment "mpeg2enc needs a toolchain w/ threads, C++"
	depends on BR2_USE_MMU
	depends on !BR2_TOOLCHAIN_HAS_THREADS \
		|| !BR2_INSTALL_LIBSTDCPP

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_GCC_AT_LEAST_4_9
	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++, gcc >= 4.9"
	depends on BR2_PAKCAGE_OPENAL_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
		|| !BR2_INSTALL_LIBSTDCPP \
		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

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_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg
	depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz
	select BR2_PACKAGE_LIBRSVG
	help
	  RSVG plugin library

comment "rsvg plugin needs a toolchain w/ C++, gcc >= 4.8"
	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	depends on BR2_TOOLCHAIN_HAS_SYNC_4

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SBC
	bool "sbc"
	select BR2_PACKAGE_SBC

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SHM
	bool "shm"
	help
	  shared memory sink source

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE
	bool "sndfile"
	select BR2_PACKAGE_LIBSNDFILE

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP
	bool "srtp"
	select BR2_PACKAGE_LIBSRTP

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC
	bool "voaacenc"
	select BR2_PACKAGE_VO_AACENC

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
	bool "wayland"
	default y
	depends on BR2_PACKAGE_WAYLAND
	depends on BR2_TOOLCHAIN_HAS_THREADS #  libdrm -> libpthread-stubs
	select BR2_PACKAGE_LIBDRM
	select BR2_PACKAGE_WAYLAND_PROTOCOLS
	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_WEBRTC
	bool "webrtc"
	depends on !BR2_STATIC_LIBS # libnice -> gnutls
	select BR2_PACKAGE_GST1_PLUGINS_BASE # libgstsdp
	select BR2_PACKAGE_LIBNICE
	help
	  WebRTC plugins (webrtcbin - a bin for webrtc connections)

comment "webrtc needs a toolchain w/ dynamic library"
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP
	bool "webrtcdsp"
	# All depends from webrtc-audio-processing
	depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
	select BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
	help
	  WebRTC echo-cancellation, gain control and noise suppression

comment "webrtcdsp needs a toolchain w/ C++, NPTL, gcc >= 4.8"
	depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WPE
	bool "wpe"
	default y
	depends on BR2_PACKAGE_WPEWEBKIT
	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL

comment "wpe needs the gst1-plugins-base opengl library and wpewebkit"
	depends on !BR2_PACKAGE_WPEWEBKIT \
		|| !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_V4L2CODECS
	bool "v4l2codecs"
	depends on BR2_PACKAGE_HAS_UDEV # libgudev
	select BR2_PACKAGE_LIBGUDEV
	help
	  Video4Linux Stateless CODECs support

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265
	bool "x265"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # x265
	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

config BR2_PACKAGE_GST1_PLUGINS_BAD_ZBAR
	bool "zbar"
	depends on BR2_TOOLCHAIN_HAS_THREADS # zbar-> libv4l
	depends on BR2_USE_MMU # zbar-> libv4l
	depends on BR2_INSTALL_LIBSTDCPP # zbar-> libv4l
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # zbar -> libv4l
	select BR2_PACKAGE_ZBAR

comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.0"
	depends on BR2_USE_MMU
	depends on !BR2_TOOLCHAIN_HAS_THREADS \
		|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0

endif
