menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD
	bool "gst1-plugins-bad"
	depends on BR2_INSTALL_LIBSTDCPP
	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_CODECALPHA
	bool "codecalpha"
	help
	  Elements for VP8/VP9 alpha support (codecalphademux,
	  alphacombine, vp8alphadecodebin, vp9alphadecodebin)

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_AES
	bool "aes"
	select BR2_PACKAGE_OPENSSL
	help
	  "AES encryption/decryption plugin"

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_9 # libass -> harfbuzz
	select BR2_PACKAGE_LIBASS

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

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
	select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO # runtime
	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_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_USE_MMU # pango -> glib2
	depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # 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++, gcc >= 4.9"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

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_PACKAGE_OPENAL_ARCH_SUPPORTS
	select BR2_PACKAGE_OPENAL

comment "openal plugin needs a toolchain w/ NPTL, C++, gcc >= 4.9"
	depends on BR2_PACKAGE_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_QROVERLAY
	bool "qroverlay"
	select BR2_PACKAGE_JSON_GLIB
	select BR2_PACKAGE_LIBQRENCODE
	help
	  Elements qroverlay, debugqroverlay (overlay data on top of
	  video in the form of a QR code)

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_9 # librsvg -> pango -> harfbuzz
	select BR2_PACKAGE_LIBRSVG
	help
	  RSVG plugin library

comment "rsvg plugin needs a toolchain w/ C++, gcc >= 4.9"
	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
	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_SCTP
	bool "sctp"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrinsics

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_UVCH264
	bool "uvch264"
	depends on BR2_PACKAGE_HAS_UDEV # libgudev
	depends on BR2_TOOLCHAIN_HAS_THREADS # libgudev, libusb
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
	depends on BR2_USE_MMU # libgudev
	depends on BR2_USE_WCHAR # libgudev
	select BR2_PACKAGE_LIBGUDEV
	select BR2_PACKAGE_LIBUSB
	help
	  UVC compliant H.264 camera source plugin

comment "uvch264 needs udev /dev management"
	depends on BR2_USE_MMU
	depends on !BR2_PACKAGE_HAS_UDEV

comment "uvch264 needs a toolchain w/ threads, wchar, gcc >= 4.9"
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VA
	bool "va"
	depends on !BR2_STATIC_LIBS # libva
	depends on BR2_TOOLCHAIN_HAS_THREADS # libva
	select BR2_PACKAGE_LIBVA
	help
	  VA-API new plugin

comment "va needs a toolchain w/ threads, dynamic library"
	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS

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_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
	depends on !BR2_STATIC_LIBS
	select BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
	help
	  WebRTC echo-cancellation, gain control and noise suppression

comment "webrtcdsp needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 8"
	depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS
	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
		|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_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
	depends on !BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM

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

comment "wpe is incompatible w/ wpewebkit media-stream support"
	depends on BR2_PACKAGE_WPEWEBKIT
	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
	depends on BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM

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

comment "v4l2codecs need udev /dev management"
	depends on !BR2_PACKAGE_HAS_UDEV

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

config BR2_PACKAGE_GST1_PLUGINS_BAD_ZXING
	bool "zxing"
	depends on !BR2_STATIC_LIBS # zxing-cpp
	depends on BR2_USE_WCHAR # zxing-cpp
	depends on BR2_INSTALL_LIBSTDCPP # zxing-cpp
	select BR2_PACKAGE_ZXING_CPP

comment "zxing plugin needs a toolchain w/ C++, wchar, dynamic library"
	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \
		!BR2_INSTALL_LIBSTDCPP

endif

comment "gst1-plugins-bad needs a toolchain w/ C++"
	depends on !BR2_INSTALL_LIBSTDCPP
