Skip to contentSkip to conversation

janus-gateway: add option for libcurl support

PATCH New Olivier Maignial 3 participants 3 messages Nov 3, 2017 – Nov 23, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 janus-gateway: add option for libcurl support

libcurl is not mandatory to compile Janus, but Janus use it in several way:
- RTSP stream support in plugin streaming
- TURN REST API support
- HTTP backend for text room plugin
- ...
This commit add an option "libcurl support" to add dependency on libcurl.

---
 package/janus-gateway/Config.in        | 18 ++++++++++++++++++
 package/janus-gateway/janus-gateway.mk |  4 ++++
 2 files changed, 22 insertions(+)
package/janus-gateway/Config.in +18 -0
index 5bd4e95..156fac6 100644
@@ -38,6 +38,12 @@ config  BR2_PACKAGE_JANUS_STREAMING
 	# SO_REUSEPORT
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
+if BR2_PACKAGE_JANUS_STREAMING
+config BR2_PACKAGE_JANUS_STREAMING_RTSP
+	bool "Support RTSP feed"
+	select BR2_PACKAGE_JANUS_LIBCURL
+endif
+
 comment "streaming plugin needs a toolchain w/ headers >= 3.9"
 	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
@@ -77,6 +83,7 @@ config BR2_PACKAGE_JANUS_REST
 	bool "REST (HTTP/HTTPS)"
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_PACKAGE_LIBMICROHTTPD
+	select BR2_PACKAGE_JANUS_LIBCURL	
 
 comment "REST transport needs a toolchain w/ threads"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
@@ -90,6 +97,17 @@ config BR2_PACKAGE_JANUS_WEBSOCKETS
 	depends on BR2_USE_MMU
 	select BR2_PACKAGE_LIBWEBSOCKETS
 
+comment "libcurl support"
+
+config BR2_PACKAGE_JANUS_LIBCURL
+	bool "Enable libcurl support"
+	default y
+	help
+	  Janus uses libcurl to several purposes:
+	    - Enable TURN REST API	
+	    - Implement Sample Event Handler plugin
+	    - Support RTSP stream in streaming plugin
+
 endif
 
 comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +4 -0
index bf3e590..7314d1c 100644
@@ -117,6 +117,10 @@ else
 JANUS_GATEWAY_CONF_OPTS += --disable-websockets
 endif
 
+ifeq ($(BR2_PACKAGE_JANUS_LIBCURL),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif
+
 # Parallel build broken
 JANUS_GATEWAY_MAKE = $(MAKE1)
 
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 janus-gateway: add option for libcurl support

Hello

Quoted 18 lines · Olivier Maignial

libcurl is not mandatory to compile Janus, but Janus use it in several way:
- RTSP stream support in plugin streaming
- TURN REST API support
- HTTP backend for text room plugin
- ...
This commit add an option "libcurl support" to add dependency on libcurl.

---
 package/janus-gateway/Config.in        | 18 ++++++++++++++++++
 package/janus-gateway/janus-gateway.mk |  4 ++++
 2 files changed, 22 insertions(+)
package/janus-gateway/Config.in +0 -0
index 5bd4e95..156fac6 100644

package/janus-gateway/Config.in config BR2_PACKAGE_JANUS_STREAMING · line 46

Quoted 9 lines
package/janus-gateway/Config.in +6 -0
@@ -38,6 +38,12 @@ config  BR2_PACKAGE_JANUS_STREAMING
        # SO_REUSEPORT
        depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
+if BR2_PACKAGE_JANUS_STREAMING
+config BR2_PACKAGE_JANUS_STREAMING_RTSP
+       bool "Support RTSP feed"
+       select BR2_PACKAGE_JANUS_LIBCURL
+endif
+

This should be in a seperate patch.

package/janus-gateway/Config.in config BR2_PACKAGE_JANUS_REST · line 87

Quoted 9 lines
package/janus-gateway/Config.in +1 -0
 comment "streaming plugin needs a toolchain w/ headers >= 3.9"
        depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
@@ -77,6 +83,7 @@ config BR2_PACKAGE_JANUS_REST
        bool "REST (HTTP/HTTPS)"
        depends on BR2_TOOLCHAIN_HAS_THREADS
        select BR2_PACKAGE_LIBMICROHTTPD
+       select BR2_PACKAGE_JANUS_LIBCURL
 

1) There's a trailing whitespace here.
2) This wasn't mandatory before, and shouldn't be mandatory now.

package/janus-gateway/Config.in config BR2_PACKAGE_JANUS_WEBSOCKETS · line 100

Quoted 7 lines
package/janus-gateway/Config.in +1 -0
 comment "REST transport needs a toolchain w/ threads"
        depends on !BR2_TOOLCHAIN_HAS_THREADS
@@ -90,6 +97,17 @@ config BR2_PACKAGE_JANUS_WEBSOCKETS
        depends on BR2_USE_MMU
        select BR2_PACKAGE_LIBWEBSOCKETS
 
+comment "libcurl support"

Do we really need a comment for this?

package/janus-gateway/Config.in config BR2_PACKAGE_JANUS_WEBSOCKETS · line 104

Quoted 4 lines
package/janus-gateway/Config.in +4 -0
+
+config BR2_PACKAGE_JANUS_LIBCURL
+       bool "Enable libcurl support"
+       default y

The default shouldn't be yes, some users don't want libcurl support.

package/janus-gateway/Config.in config BR2_PACKAGE_JANUS_WEBSOCKETS · line 106

Quoted 2 lines
package/janus-gateway/Config.in +2 -0
+       help
+         Janus uses libcurl to several purposes:

to -> for

package/janus-gateway/Config.in config BR2_PACKAGE_JANUS_WEBSOCKETS · line 107

Quoted 1 line
package/janus-gateway/Config.in +1 -0
+           - Enable TURN REST API

There's a trailing whitespace here as well.

Quoted 22 lines
package/janus-gateway/Config.in +3 -0
+           - Implement Sample Event Handler plugin
+           - Support RTSP stream in streaming plugin
+
 endif
 
 comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +4 -1
index bf3e590..7314d1c 100644
@@ -117,6 +117,10 @@ else
 JANUS_GATEWAY_CONF_OPTS += --disable-websockets
 endif
 
+ifeq ($(BR2_PACKAGE_JANUS_LIBCURL),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif
+
 # Parallel build broken
 JANUS_GATEWAY_MAKE = $(MAKE1)
 
--
Quoted 2 lines

2.7.4

Thanks!

Adam

#2 lore raw

PATCH 1/1 janus-gateway: add option for libcurl support

In reply to Olivier Maignial

Hello,

Quoted 7 lines · Olivier Maignial

libcurl is not mandatory to compile Janus, but Janus use it in several way:
- RTSP stream support in plugin streaming
- TURN REST API support
- HTTP backend for text room plugin
- ...
This commit add an option "libcurl support" to add dependency on libcurl.

Quoted 5 lines
---
 package/janus-gateway/Config.in        | 18 ++++++++++++++++++
 package/janus-gateway/janus-gateway.mk |  4 ++++
 2 files changed, 22 insertions(+)

You received some comments from Adam Duskett on this patch. Do you think you will be able to send an updated version of this patch that takes into account the comments?

I will mark your patch as Changes Requested in our patch tracking system, which means that if you don't resend a new version, we will forget about your patch.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com