forked from mavlink/mavlink-camera-manager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fixes.patch
82 lines (77 loc) · 4.61 KB
/
fixes.patch
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
72
73
74
75
76
77
78
79
80
81
82
commit 83eeab6129332d46b8dc914fc7c52bf900024b57
Author: togo <togo@togo.stanfordssi.org>
Date: Sat May 25 20:36:32 2024 -0700
updated some files for compilation
diff --git a/Cargo.toml b/Cargo.toml
index 1497245..29a9f04 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -82,13 +82,14 @@ turn = "0.7"
image = "0.24"
## GSTREAMER
-gst = { package = "gstreamer", version = "0.22", features = ["v1_16"] }
-gst-app = { package = "gstreamer-app", version = "0.22", features = ["v1_16"] }
-gst-sdp = { package = "gstreamer-sdp", version = "0.22", features=["v1_16"] }
-gst-webrtc = { package = "gstreamer-webrtc", version = "0.22", features = ["v1_16"] }
-gst-rtsp = { package = "gstreamer-rtsp", version = "0.22", features = ["v1_16"] }
-gst-rtsp-server = { package = "gstreamer-rtsp-server", version = "0.22", features = ["v1_16"] }
-gst-video = { package = "gstreamer-video", version = "0.22", features = ["v1_16"] }
+# gst = { package = "gstreamer", version = "0.22", features = ["v1_14"] }
+gst = { package = "gstreamer", version = "0.22", features = [] }
+gst-app = { package = "gstreamer-app", version = "0.22", features = [] }
+gst-sdp = { package = "gstreamer-sdp", version = "0.22", features=[] }
+gst-webrtc = { package = "gstreamer-webrtc", version = "0.22", features = [] }
+gst-rtsp = { package = "gstreamer-rtsp", version = "0.22", features = [] }
+gst-rtsp-server = { package = "gstreamer-rtsp-server", version = "0.22", features = [] }
+gst-video = { package = "gstreamer-video", version = "0.22", features = [] }
webrtc-sdp = "0.3.11"
[dev-dependencies]
diff --git a/src/stream/pipeline/v4l_pipeline.rs b/src/stream/pipeline/v4l_pipeline.rs
index 68b52c5..57ac17c 100644
--- a/src/stream/pipeline/v4l_pipeline.rs
+++ b/src/stream/pipeline/v4l_pipeline.rs
@@ -60,7 +60,8 @@ impl V4lPipeline {
" ! h264parse", // Here we need the parse to help the stream-format and alignment part, which is being fixed here because avc/au seems to reduce the CPU usage in the RTP payloading part.
" ! capsfilter name={filter_name} caps=video/x-h264,stream-format=avc,alignment=au,width={width},height={height},framerate={interval_denominator}/{interval_numerator}",
" ! tee name={video_tee_name} allow-not-linked=true",
- " ! rtph264pay aggregate-mode=zero-latency config-interval=10 pt=96",
+ " ! rtph264pay config-interval=10 pt=96",
+// aggregate-mode=zero-latency
" ! tee name={rtp_tee_name} allow-not-linked=true"
),
device = device,
diff --git a/src/stream/rtsp/rtsp_server.rs b/src/stream/rtsp/rtsp_server.rs
index 688edd0..f5bb392 100644
--- a/src/stream/rtsp/rtsp_server.rs
+++ b/src/stream/rtsp/rtsp_server.rs
@@ -169,7 +169,8 @@ impl RTSPServer {
" ! queue leaky=downstream flush-on-eos=true silent=true max-size-buffers=0",
" ! capsfilter caps={rtp_caps:?}",
" ! rtph264depay",
- " ! rtph264pay name=pay0 aggregate-mode=zero-latency config-interval=10 pt=96",
+ " ! rtph264pay name=pay0 config-interval=10 pt=96",
+// aggregate-mode=zero-latency
),
socket_path = socket_path,
rtp_caps = rtp_caps,
diff --git a/src/stream/sink/webrtc_sink.rs b/src/stream/sink/webrtc_sink.rs
index 706add9..6e39a3c 100644
--- a/src/stream/sink/webrtc_sink.rs
+++ b/src/stream/sink/webrtc_sink.rs
@@ -46,7 +46,7 @@ impl SinkInterface for WebRTCSink {
gst_webrtc::WebRTCRTPTransceiverDirection::Sendonly,
);
transceiver.set_property("do-nack", false);
- transceiver.set_property("fec-type", gst_webrtc::WebRTCFECType::None);
+ // transceiver.set_property("fec-type", gst_webrtc::WebRTCFECType::None);
// Link
let sink_id = &self.get_id();
@@ -311,7 +311,7 @@ impl WebRTCSink {
gst::ElementFactory::make("webrtcbin")
.property_from_str("name", format!("webrtcbin-{}", bind.session_id).as_str())
.property("async-handling", true)
- .property("bundle-policy", gst_webrtc::WebRTCBundlePolicy::MaxBundle) // https://webrtcstandards.info/sdp-bundle/
+ // .property("bundle-policy", gst_webrtc::WebRTCBundlePolicy::MaxBundle) // https://webrtcstandards.info/sdp-bundle/
.property("latency", 0u32)
.property_from_str("stun-server", cli::manager::stun_server_address().as_str())
.property_from_str("turn-server", DEFAULT_TURN_ENDPOINT)