menuconfig BR2_PACKAGE_JANUS_GATEWAY
	bool "janus-gateway"
	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
	depends on BR2_USE_WCHAR # libnice -> libglib2
	depends on BR2_USE_MMU # libnice
	depends on !BR2_STATIC_LIBS # dlopen
	select BR2_PACKAGE_JANSSON
	select BR2_PACKAGE_LIBCONFIG
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_LIBNICE
	select BR2_PACKAGE_LIBSRTP
	select BR2_PACKAGE_OPENSSL
	help
	  Janus is an open source, general purpose, WebRTC gateway
	  designed and developed by Meetecho.

	  https://github.com/meetecho/janus-gateway

if BR2_PACKAGE_JANUS_GATEWAY

config BR2_PACKAGE_JANUS_GATEWAY_DEMOS
	bool "HTML demos"
	help
	  Install the demonstration website, as featured on
	  https://janus.conf.meetecho.com/

comment "plugins"

config BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE
	bool "audio bridge"
	select BR2_PACKAGE_OPUS

config BR2_PACKAGE_JANUS_GATEWAY_DUKTAPE
	bool "duktape"
	depends on !BR2_OPTIMIZE_FAST # duktape
	select BR2_PACKAGE_DUKTAPE

comment "duktape plugin can't be built with optimize for fast"
	depends on BR2_OPTIMIZE_FAST

config BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST
	bool "echo test"

config BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY
	bool "record and play"

config BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY
	bool "sip gateway"
	select BR2_PACKAGE_SOFIA_SIP

config BR2_PACKAGE_JANUS_GATEWAY_STREAMING
	bool "streaming"
	# SO_REUSEPORT
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9

comment "streaming plugin needs a toolchain w/ headers >= 3.9"
	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9

config BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM
	bool "text room"

config BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL
	bool "video call"

config BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM
	bool "video room"

config BR2_PACKAGE_JANUS_GATEWAY_VOICE_MAIL
	bool "voice mail"
	select BR2_PACKAGE_LIBOGG

comment "transports"

config BR2_PACKAGE_JANUS_GATEWAY_MQTT
	bool "MQTT"
	depends on BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_PAHO_MQTT_C

comment "MQTT transport needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ
	bool "RabbitMQ"
	depends on !BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_RABBITMQ_C

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

config BR2_PACKAGE_JANUS_GATEWAY_REST
	bool "REST (HTTP/HTTPS)"
	select BR2_PACKAGE_LIBMICROHTTPD

config BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS
	bool "Unix Sockets"
	default y

config BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS
	bool "WebSockets"
	select BR2_PACKAGE_LIBWEBSOCKETS

endif

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