Skip to contentSkip to conversation

janus-gateway: add RTSP streaming support.

PATCH New Adam Duskett 3 participants 5 messages Dec 5, 2017 – Dec 13, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 janus-gateway: add RTSP streaming support.

The streaming protocol works without libcurl via RTP, but if a user wishes to stream via RTSP, libcurl must be built first.

---
 package/janus-gateway/Config.in        | 8 +++++++-
 package/janus-gateway/janus-gateway.mk | 4 ++++
 2 files changed, 11 insertions(+), 1 deletion(-)
package/janus-gateway/Config.in +7 -1
index 5bd4e9586b..ed68e270d6 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 "RTSP streaming"
+	select BR2_PACKAGE_LIBCURL
+endif
+
 comment "streaming plugin needs a toolchain w/ headers >= 3.9"
 	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
@@ -90,7 +96,7 @@ config BR2_PACKAGE_JANUS_WEBSOCKETS
 	depends on BR2_USE_MMU
 	select BR2_PACKAGE_LIBWEBSOCKETS
 
-endif
+endif #BR2_PACKAGE_JANUS_GATEWAY
 
 comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
 	depends on BR2_USE_MMU
package/janus-gateway/janus-gateway.mk +4 -0
index bf3e590ac5..be31c465f8 100644
@@ -58,6 +58,10 @@ else
 JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming
 endif
 
+ifeq ($(BR2_PACKAGE_JANUS_STREAMING_RTSP),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif
+
 ifeq ($(BR2_PACKAGE_JANUS_TEXT_ROOM),y)
 JANUS_GATEWAY_CONF_OPTS += --enable-plugin-textroom
 else
Signature · 1 line
2.14.3
#1 lore raw

PATCH 1/1 janus-gateway: add RTSP streaming support.

Hi Adam,

Quoted 40 lines · Adam Duskett

The streaming protocol works without libcurl via RTP, but if a user wishes to stream via RTSP, libcurl must be built first.

---
 package/janus-gateway/Config.in        | 8 +++++++-
 package/janus-gateway/janus-gateway.mk | 4 ++++
 2 files changed, 11 insertions(+), 1 deletion(-)
package/janus-gateway/Config.in +7 -1
index 5bd4e9586b..ed68e270d6 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 "RTSP streaming"
+	select BR2_PACKAGE_LIBCURL
+endif
+
 comment "streaming plugin needs a toolchain w/ headers >= 3.9"
 	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
@@ -90,7 +96,7 @@ config BR2_PACKAGE_JANUS_WEBSOCKETS
 	depends on BR2_USE_MMU
 	select BR2_PACKAGE_LIBWEBSOCKETS
 
-endif
+endif #BR2_PACKAGE_JANUS_GATEWAY
 
 comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
 	depends on BR2_USE_MMU
package/janus-gateway/janus-gateway.mk +0 -0
index bf3e590ac5..be31c465f8 100644

package/janus-gateway/janus-gateway.mk else · line 63

Quoted 6 lines
package/janus-gateway/janus-gateway.mk +3 -0
@@ -58,6 +58,10 @@ else
 JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming
 endif
 
+ifeq ($(BR2_PACKAGE_JANUS_STREAMING_RTSP),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif

Is there a way to disable RTSP? If not, RTSP will be enabled whenever libcurl happens to build before janus-gateway, right? So maybe having libcurl as a usual optional dependency would be better.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
#2 lore raw

PATCH 1/1 janus-gateway: add RTSP streaming support.

Hi Barauch;

Quoted 54 lines · Baruch Siach

Hi Adam,

Quoted 40 lines · Adam Duskett

The streaming protocol works without libcurl via RTP, but if a user wishes to stream via RTSP, libcurl must be built first.

---
 package/janus-gateway/Config.in        | 8 +++++++-
 package/janus-gateway/janus-gateway.mk | 4 ++++
 2 files changed, 11 insertions(+), 1 deletion(-)
package/janus-gateway/Config.in +7 -1
index 5bd4e9586b..ed68e270d6 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 "RTSP streaming"
+     select BR2_PACKAGE_LIBCURL
+endif
+
 comment "streaming plugin needs a toolchain w/ headers >= 3.9"
      depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
 
@@ -90,7 +96,7 @@ config BR2_PACKAGE_JANUS_WEBSOCKETS
      depends on BR2_USE_MMU
      select BR2_PACKAGE_LIBWEBSOCKETS
 
-endif
+endif #BR2_PACKAGE_JANUS_GATEWAY
 
 comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
      depends on BR2_USE_MMU
package/janus-gateway/janus-gateway.mk +0 -0
index bf3e590ac5..be31c465f8 100644

package/janus-gateway/janus-gateway.mk else · line 63

Quoted 6 lines
package/janus-gateway/janus-gateway.mk +3 -0
@@ -58,6 +58,10 @@ else
 JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming
 endif
 
+ifeq ($(BR2_PACKAGE_JANUS_STREAMING_RTSP),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif

Is there a way to disable RTSP? If not, RTSP will be enabled whenever libcurl happens to build before janus-gateway, right? So maybe having libcurl as a usual optional dependency would be better.

Quoted 2 lines

baruch

There isn't a way to disable RTSP, however, I am not sure the best way to go about this.
I like being able to just select an option and have it select the dependency.

What would you suggest? Just "if libcurl is selected depend on it" ?

Quoted 4 lines

--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

#3 lore raw

PATCH 1/1 janus-gateway: add RTSP streaming support.

Hi Adam,

Quoted 2 lines · Adam Duskett
Quoted 1 line · Baruch Siach

On Tue, Dec 05, 2017 at 08:10:05AM -0500, Adam Duskett wrote:

[...]

Quoted 8 lines
Quoted 7 lines

package/janus-gateway/janus-gateway.mk else · line 63

Quoted 3 lines
package/janus-gateway/janus-gateway.mk +3 -0
+ifeq ($(BR2_PACKAGE_JANUS_STREAMING_RTSP),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif

Is there a way to disable RTSP? If not, RTSP will be enabled whenever libcurl happens to build before janus-gateway, right? So maybe having libcurl as a usual optional dependency would be better.

Quoted 5 lines

There isn't a way to disable RTSP, however, I am not sure the best way to go about this.
I like being able to just select an option and have it select the dependency.

What would you suggest? Just "if libcurl is selected depend on it" ?

I think so. A comment in the Config.in help text might be useful in that case.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
#4 lore raw

PATCH 1/1 janus-gateway: add RTSP streaming support.

In reply to Adam Duskett

Hello,

Quoted 18 lines · Adam Duskett
Quoted 18 lines

package/janus-gateway/janus-gateway.mk else · line 63

Quoted 13 lines

comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
depends on BR2_USE_MMU

package/janus-gateway/janus-gateway.mk +3 -0
index bf3e590ac5..be31c465f8 100644
@@ -58,6 +58,10 @@ else
 JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming
 endif
 
+ifeq ($(BR2_PACKAGE_JANUS_STREAMING_RTSP),y)
+JANUS_GATEWAY_DEPENDENCIES += libcurl
+endif  

Is there a way to disable RTSP? If not, RTSP will be enabled whenever libcurl happens to build before janus-gateway, right? So maybe having libcurl as a usual optional dependency would be better.

Quoted 7 lines
Quoted 2 lines

baruch

There isn't a way to disable RTSP, however, I am not sure the best way to go about this.
I like being able to just select an option and have it select the dependency.

What would you suggest? Just "if libcurl is selected depend on it" ?

Note: I agree with Baruch on this. If you have an option to enable RTSP support, then RTSP support should be disabled if the option is disabled. Since this is not possible with janus-gateway build system, then you should simply add libcurl as a dependency if BR2_PACKAGE_LIBCURL=y.

Thanks!

Thomas

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