-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathvideo_streamer_webrtc.orogen
71 lines (56 loc) · 2.27 KB
/
video_streamer_webrtc.orogen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# frozen_string_literal: true
name "video_streamer_webrtc"
using_library "base-logging", typekit: false
using_library "gstreamer-webrtc-1.0", typekit: false
using_library "gstreamer-video-1.0", typekit: false
using_library "gstreamer-app-1.0", typekit: false
using_library "libsoup-2.4", typekit: false
using_library "jsoncpp", typekit: false
import_types_from "base"
import_types_from "video_streamer_webrtcTypes.hpp"
OroGen::Spec::Deployment.register_global_initializer(:gstreamer)
if defined?(OroGen::Gen::RTT_CPP::Deployment)
OroGen::Gen::RTT_CPP::Deployment.register_global_initializer(
:gstreamer,
deployment_cmake: <<~GST_DEPLOYMENT_CMAKE,
orogen_pkg_check_modules(gstreamer_app_1_0 REQUIRED gstreamer-app-1.0)
include_directories(${gstreamer_app_1_0_INCLUDE_DIRS})
add_definitions(${gstreamer_app_1_0_CFLAGS_OTHER})
link_directories(${gstreamer_app_1_0_LIBRARY_DIRS})
target_link_libraries(<%= deployer.name %> ${gstreamer_app_1_0_LIBRARIES})
GST_DEPLOYMENT_CMAKE
global_scope: <<~GST_TOPLEVEL,
#include <gst/gst.h>
GST_TOPLEVEL
init: <<~GST_INIT,
gst_init(&argc, &argv);
GST_INIT
exit: <<~GST_EXIT
gst_deinit();
GST_EXIT
)
end
task_context "StreamerTask" do
needs_configuration
needs_global_initializer :gstreamer
# The target fps
property "fps", "int", 25
# The port on which the embedded server is listening
property "port", "int", 57_778
# Transport configuration
property "transport", "video_streamer_webrtc/Transport"
# Encoding configuration (defaults to VP8)
property "encoding", "video_streamer_webrtc/Encoding"
# STUN server (e.g. stun://10.128.0.1:3478)
property "stun_server", "string"
# How long will we keep a stream without receiving a heartbeat from the client
# on the signalling websocket
property "dead_receiver_timeout", "/base/Time"
# The images to stream
input_port "images", ro_ptr("/base/samples/frame/Frame")
# Statistics about the streams as received by our clients
output_port "client_statistics",
"/std/vector<video_streamer_webrtc/ClientStatistics>"
port_driven
exception_states "GSTREAMER_ERROR"
end