Skip to content

Commit b6c5e74

Browse files
author
Rusty Rain
authored
Merge pull request webrtc-rs#109 from algesten/anyhow
Refactor out use of anyhow
2 parents 278b595 + 5a098c0 commit b6c5e74

File tree

79 files changed

+417
-364
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+417
-364
lines changed

Cargo.toml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,28 @@ repository = "https://github.com/webrtc-rs/webrtc"
1212
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1313

1414
[dependencies]
15-
util = { package = "webrtc-util", version = "0.4.3" }
16-
sdp = "0.2.3"
17-
mdns = { package = "webrtc-mdns", version = "0.3.5" }
18-
stun = "0.3.5"
19-
turn = "0.4.0"
20-
ice = { package = "webrtc-ice", version = "0.4.1" }
21-
dtls = { package = "webrtc-dtls", version = "0.4.12" }
22-
rtp = "0.4.1"
23-
rtcp = "0.4.1"
24-
srtp = { package = "webrtc-srtp", version = "0.5.0" }
25-
sctp = { package = "webrtc-sctp", version = "0.3.8" }
26-
data = { package = "webrtc-data", version = "0.2.8" }
27-
media = { package = "webrtc-media", version = "0.2.1" }
28-
interceptor = "0.2.3"
15+
util = { package = "webrtc-util", version = "0.5.0" }
16+
sdp = "0.3.0"
17+
mdns = { package = "webrtc-mdns", version = "0.4.0" }
18+
stun = "0.4.0"
19+
turn = "0.5.0"
20+
ice = { package = "webrtc-ice", version = "0.5.0" }
21+
dtls = { package = "webrtc-dtls", version = "0.5.0" }
22+
rtp = "0.5.0"
23+
rtcp = "0.5.0"
24+
srtp = { package = "webrtc-srtp", version = "0.6.0" }
25+
sctp = { package = "webrtc-sctp", version = "0.4.0" }
26+
data = { package = "webrtc-data", version = "0.3.0" }
27+
media = { package = "webrtc-media", version = "0.3.0" }
28+
interceptor = "0.3.0"
2929
tokio = { version = "1.12.0", features = ["full"] }
3030
log = "0.4.14"
3131
async-trait = "0.1.42"
3232
serde = { version = "1.0", features = ["derive"] }
3333
serde_json = "1.0"
3434
rand = "0.8"
3535
bytes = "1"
36-
thiserror = "1.0.25"
37-
anyhow = "1.0.41"
36+
thiserror = "1.0"
3837
waitgroup = "0.1.2"
3938
regex = "1"
4039
url = "2.2.2"
@@ -53,6 +52,7 @@ clap = "2"
5352
hyper = { version = "0.14.13", features = ["full"] }
5453
signal = {path = "examples/signal" }
5554
tokio-util = "0.6.8"
55+
anyhow = "1.0"
5656

5757
[profile.dev]
5858
opt-level = 0

crates/dtls

Submodule dtls updated 71 files

crates/rtcp

crates/turn

Submodule turn updated 49 files

examples/broadcast/broadcast.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use tokio::time::Duration;
88
use webrtc::api::interceptor_registry::register_default_interceptors;
99
use webrtc::api::media_engine::MediaEngine;
1010
use webrtc::api::APIBuilder;
11-
use webrtc::error::Error;
1211
use webrtc::media::rtp::rtp_codec::RTPCodecType;
1312
use webrtc::media::rtp::rtp_receiver::RTCRtpReceiver;
1413
use webrtc::media::track::track_local::track_local_static_rtp::TrackLocalStaticRTP;
@@ -18,6 +17,7 @@ use webrtc::peer::configuration::RTCConfiguration;
1817
use webrtc::peer::ice::ice_server::RTCIceServer;
1918
use webrtc::peer::peer_connection_state::RTCPeerConnectionState;
2019
use webrtc::peer::sdp::session_description::RTCSessionDescription;
20+
use webrtc::Error;
2121

2222
#[tokio::main]
2323
async fn main() -> Result<()> {
@@ -147,7 +147,7 @@ async fn main() -> Result<()> {
147147
result = pc2.write_rtcp(&PictureLossIndication{
148148
sender_ssrc: 0,
149149
media_ssrc,
150-
}).await;
150+
}).await.map_err(Into::into);
151151
}
152152
};
153153
}
@@ -157,7 +157,7 @@ async fn main() -> Result<()> {
157157
tokio::spawn(async move {
158158
// Create Track that we send video back to browser on
159159
let local_track = Arc::new(TrackLocalStaticRTP::new(
160-
track.codec().await.capability.clone(),
160+
track.codec().await.capability,
161161
"video".to_owned(),
162162
"webrtc-rs".to_owned(),
163163
));
@@ -166,7 +166,7 @@ async fn main() -> Result<()> {
166166
// Read RTP packets being sent to webrtc-rs
167167
while let Ok((rtp, _)) = track.read_rtp().await {
168168
if let Err(err) = local_track.write_rtp(&rtp).await {
169-
if !Error::ErrClosedPipe.equal(&err) {
169+
if Error::ErrClosedPipe != err {
170170
print!("output track write_rtp got error: {} and break", err);
171171
break;
172172
} else {
@@ -186,7 +186,7 @@ async fn main() -> Result<()> {
186186
// This will notify you when the peer has connected/disconnected
187187
peer_connection
188188
.on_peer_connection_state_change(Box::new(move |s: RTCPeerConnectionState| {
189-
print!("Peer Connection State has changed: {}\n", s);
189+
println!("Peer Connection State has changed: {}", s);
190190
Box::pin(async {})
191191
}))
192192
.await;
@@ -274,7 +274,7 @@ async fn main() -> Result<()> {
274274
// This will notify you when the peer has connected/disconnected
275275
peer_connection
276276
.on_peer_connection_state_change(Box::new(move |s: RTCPeerConnectionState| {
277-
print!("Peer Connection State has changed: {}\n", s);
277+
println!("Peer Connection State has changed: {}", s);
278278
Box::pin(async {})
279279
}))
280280
.await;

examples/data-channels-close/data-channels-close.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ async fn main() -> Result<()> {
143143
Box::pin(async move {
144144
let d2 = Arc::clone(&d);
145145
let d_label2 = d_label.clone();
146-
let d_id2 = d_id.clone();
146+
let d_id2 = d_id;
147147
d.on_open(Box::new(move || {
148148
println!("Data channel '{}'-'{}' open. Random messages will now be sent to any connected DataChannels every 5 seconds", d_label2, d_id2);
149149
let (done_tx, mut done_rx) = tokio::sync::mpsc::channel::<()>(1);
@@ -170,7 +170,7 @@ async fn main() -> Result<()> {
170170
_ = timeout.as_mut() =>{
171171
let message = math_rand_alpha(15);
172172
println!("Sending '{}'", message);
173-
result = d2.send_text(message).await;
173+
result = d2.send_text(message).await.map_err(Into::into);
174174

175175
let cnt = close_after2.fetch_sub(1, Ordering::SeqCst);
176176
if cnt <= 0 {
@@ -187,7 +187,7 @@ async fn main() -> Result<()> {
187187
// Register text message handling
188188
d.on_message(Box::new(move |msg: DataChannelMessage| {
189189
let msg_str = String::from_utf8(msg.data.to_vec()).unwrap();
190-
print!("Message from DataChannel '{}': '{}'\n", d_label, msg_str);
190+
println!("Message from DataChannel '{}': '{}'", d_label, msg_str);
191191
Box::pin(async {})
192192
})).await;
193193
})

examples/data-channels-create/data-channels-create.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ async fn main() -> Result<()> {
131131
_ = timeout.as_mut() =>{
132132
let message = math_rand_alpha(15);
133133
println!("Sending '{}'", message);
134-
result = d2.send_text(message).await;
134+
result = d2.send_text(message).await.map_err(Into::into);
135135
}
136136
};
137137
}

examples/data-channels-detach-create/data-channels-detach-create.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ async fn write_loop(d: Arc<data::data_channel::DataChannel>) -> Result<()> {
226226
_ = timeout.as_mut() =>{
227227
let message = math_rand_alpha(15);
228228
println!("Sending '{}'", message);
229-
result = d.write(&Bytes::from(message)).await;
229+
result = d.write(&Bytes::from(message)).await.map_err(Into::into);
230230
}
231231
};
232232
}

examples/data-channels-detach/data-channels-detach.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ async fn main() -> Result<()> {
136136
Box::pin(async move {
137137
let d2 = Arc::clone(&d);
138138
let d_label2 = d_label.clone();
139-
let d_id2 = d_id.clone();
139+
let d_id2 = d_id;
140140
d.on_open(Box::new(move || {
141141
println!("Data channel '{}'-'{}' open.", d_label2, d_id2);
142142

@@ -235,7 +235,7 @@ async fn write_loop(d: Arc<data::data_channel::DataChannel>) -> Result<()> {
235235
_ = timeout.as_mut() =>{
236236
let message = math_rand_alpha(15);
237237
println!("Sending '{}'", message);
238-
result = d.write(&Bytes::from(message)).await;
238+
result = d.write(&Bytes::from(message)).await.map_err(Into::into);
239239
}
240240
};
241241
}

examples/data-channels/data-channels.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ async fn main() -> Result<()> {
124124
Box::pin(async move {
125125
let d2 = Arc::clone(&d);
126126
let d_label2 = d_label.clone();
127-
let d_id2 = d_id.clone();
127+
let d_id2 = d_id;
128128
d.on_open(Box::new(move || {
129129
println!("Data channel '{}'-'{}' open. Random messages will now be sent to any connected DataChannels every 5 seconds", d_label2, d_id2);
130130

@@ -138,7 +138,7 @@ async fn main() -> Result<()> {
138138
_ = timeout.as_mut() =>{
139139
let message = math_rand_alpha(15);
140140
println!("Sending '{}'", message);
141-
result = d2.send_text(message).await;
141+
result = d2.send_text(message).await.map_err(Into::into);
142142
}
143143
};
144144
}
@@ -148,7 +148,7 @@ async fn main() -> Result<()> {
148148
// Register text message handling
149149
d.on_message(Box::new(move |msg: DataChannelMessage| {
150150
let msg_str = String::from_utf8(msg.data.to_vec()).unwrap();
151-
print!("Message from DataChannel '{}': '{}'\n", d_label, msg_str);
151+
println!("Message from DataChannel '{}': '{}'", d_label, msg_str);
152152
Box::pin(async {})
153153
})).await;
154154
})

examples/insertable-streams/insertable-streams.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ use tokio::time::Duration;
1313
use webrtc::api::interceptor_registry::register_default_interceptors;
1414
use webrtc::api::media_engine::{MediaEngine, MIME_TYPE_VP8};
1515
use webrtc::api::APIBuilder;
16-
use webrtc::error::Error;
1716
use webrtc::media::rtp::rtp_codec::RTCRtpCodecCapability;
1817
use webrtc::media::track::track_local::track_local_static_sample::TrackLocalStaticSample;
1918
use webrtc::media::track::track_local::TrackLocal;
@@ -22,6 +21,7 @@ use webrtc::peer::ice::ice_connection_state::RTCIceConnectionState;
2221
use webrtc::peer::ice::ice_server::RTCIceServer;
2322
use webrtc::peer::peer_connection_state::RTCPeerConnectionState;
2423
use webrtc::peer::sdp::session_description::RTCSessionDescription;
24+
use webrtc::Error;
2525

2626
const CIPHER_KEY: u8 = 0xAA;
2727

@@ -205,7 +205,7 @@ async fn main() -> Result<()> {
205205
// This will notify you when the peer has connected/disconnected
206206
peer_connection
207207
.on_peer_connection_state_change(Box::new(move |s: RTCPeerConnectionState| {
208-
print!("Peer Connection State has changed: {}\n", s);
208+
println!("Peer Connection State has changed: {}", s);
209209

210210
if s == RTCPeerConnectionState::Failed {
211211
// Wait until PeerConnection has had no network activity for 30 seconds or another failure. It may be reconnected using an ICE Restart.

examples/offer-answer/answer.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ async fn remote_handler(req: Request<Body>) -> Result<Response<Body>, hyper::Err
149149
Ok(resp) => resp,
150150
Err(err) => {
151151
println!("{}", err);
152-
return Err(err.into());
152+
return Err(err);
153153
}
154154
};
155155
//println!("remote_handler Response: {}", resp.status());
@@ -348,7 +348,7 @@ async fn main() -> Result<()> {
348348
// Register channel opening handling
349349
let d2 = Arc::clone(&d);
350350
let d_label2 = d_label.clone();
351-
let d_id2 = d_id.clone();
351+
let d_id2 = d_id;
352352
d.on_open(Box::new(move || {
353353
println!("Data channel '{}'-'{}' open. Random messages will now be sent to any connected DataChannels every 5 seconds", d_label2, d_id2);
354354
Box::pin(async move {
@@ -361,7 +361,7 @@ async fn main() -> Result<()> {
361361
_ = timeout.as_mut() =>{
362362
let message = math_rand_alpha(15);
363363
println!("Sending '{}'", message);
364-
result = d2.send_text(message).await;
364+
result = d2.send_text(message).await.map_err(Into::into);
365365
}
366366
};
367367
}
@@ -371,7 +371,7 @@ async fn main() -> Result<()> {
371371
// Register text message handling
372372
d.on_message(Box::new(move |msg: DataChannelMessage| {
373373
let msg_str = String::from_utf8(msg.data.to_vec()).unwrap();
374-
print!("Message from DataChannel '{}': '{}'\n", d_label, msg_str);
374+
println!("Message from DataChannel '{}': '{}'", d_label, msg_str);
375375
Box::pin(async{})
376376
})).await;
377377
})

examples/offer-answer/offer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ async fn main() -> Result<()> {
315315
_ = timeout.as_mut() =>{
316316
let message = math_rand_alpha(15);
317317
println!("Sending '{}'", message);
318-
result = d2.send_text(message).await;
318+
result = d2.send_text(message).await.map_err(Into::into);
319319
}
320320
};
321321
}

examples/ortc/ortc.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ async fn main() -> Result<()> {
104104
Box::pin(async move {
105105
let d2 = Arc::clone(&d);
106106
let d_label2 = d_label.clone();
107-
let d_id2 = d_id.clone();
107+
let d_id2 = d_id;
108108
d.on_open(Box::new(move || {
109109
println!("Data channel '{}'-'{}' open. Random messages will now be sent to any connected DataChannels every 5 seconds", d_label2, d_id2);
110110

@@ -116,7 +116,7 @@ async fn main() -> Result<()> {
116116
// Register text message handling
117117
d.on_message(Box::new(move |msg: DataChannelMessage| {
118118
let msg_str = String::from_utf8(msg.data.to_vec()).unwrap();
119-
print!("Message from DataChannel '{}': '{}'\n", d_label, msg_str);
119+
println!("Message from DataChannel '{}': '{}'", d_label, msg_str);
120120
Box::pin(async {})
121121
})).await;
122122
})
@@ -204,7 +204,7 @@ async fn main() -> Result<()> {
204204
let d_label = d.label().to_owned();
205205
d.on_message(Box::new(move |msg: DataChannelMessage| {
206206
let msg_str = String::from_utf8(msg.data.to_vec()).unwrap();
207-
print!("Message from DataChannel '{}': '{}'\n", d_label, msg_str);
207+
println!("Message from DataChannel '{}': '{}'", d_label, msg_str);
208208
Box::pin(async {})
209209
}))
210210
.await;
@@ -244,7 +244,7 @@ async fn handle_on_open(d: Arc<RTCDataChannel>) -> Result<()> {
244244
_ = timeout.as_mut() =>{
245245
let message = math_rand_alpha(15);
246246
println!("Sending '{}'", message);
247-
result = d.send_text(message).await;
247+
result = d.send_text(message).await.map_err(Into::into);
248248
}
249249
};
250250
}

examples/play-from-disk-h264/play-from-disk-h264.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ use tokio::time::Duration;
1414
use webrtc::api::interceptor_registry::register_default_interceptors;
1515
use webrtc::api::media_engine::{MediaEngine, MIME_TYPE_H264, MIME_TYPE_OPUS};
1616
use webrtc::api::APIBuilder;
17-
use webrtc::error::Error;
1817
use webrtc::media::rtp::rtp_codec::RTCRtpCodecCapability;
1918
use webrtc::media::track::track_local::track_local_static_sample::TrackLocalStaticSample;
2019
use webrtc::media::track::track_local::TrackLocal;
@@ -23,6 +22,7 @@ use webrtc::peer::ice::ice_connection_state::RTCIceConnectionState;
2322
use webrtc::peer::ice::ice_server::RTCIceServer;
2423
use webrtc::peer::peer_connection_state::RTCPeerConnectionState;
2524
use webrtc::peer::sdp::session_description::RTCSessionDescription;
25+
use webrtc::Error;
2626

2727
#[tokio::main]
2828
async fn main() -> Result<()> {

examples/play-from-disk-renegotiation/play-from-disk-renegotiation.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ use tokio_util::codec::{BytesCodec, FramedRead};
1818
use webrtc::api::interceptor_registry::register_default_interceptors;
1919
use webrtc::api::media_engine::{MediaEngine, MIME_TYPE_VP8};
2020
use webrtc::api::APIBuilder;
21-
use webrtc::error::Error;
2221
use webrtc::media::rtp::rtp_codec::RTCRtpCodecCapability;
2322
use webrtc::media::track::track_local::track_local_static_sample::TrackLocalStaticSample;
2423
use webrtc::media::track::track_local::TrackLocal;
@@ -27,6 +26,7 @@ use webrtc::peer::ice::ice_server::RTCIceServer;
2726
use webrtc::peer::peer_connection::RTCPeerConnection;
2827
use webrtc::peer::peer_connection_state::RTCPeerConnectionState;
2928
use webrtc::peer::sdp::session_description::RTCSessionDescription;
29+
use webrtc::Error;
3030

3131
#[macro_use]
3232
extern crate lazy_static;
@@ -323,7 +323,7 @@ async fn main() -> Result<()> {
323323
// This will notify you when the peer has connected/disconnected
324324
peer_connection
325325
.on_peer_connection_state_change(Box::new(move |s: RTCPeerConnectionState| {
326-
print!("Peer Connection State has changed: {}\n", s);
326+
println!("Peer Connection State has changed: {}", s);
327327

328328
if s == RTCPeerConnectionState::Failed {
329329
// Wait until PeerConnection has had no network activity for 30 seconds or another failure. It may be reconnected using an ICE Restart.
@@ -383,7 +383,7 @@ async fn write_video_to_track(video_file: String, t: Arc<TrackLocalStaticSample>
383383
Ok((frame, _)) => frame,
384384
Err(err) => {
385385
println!("All video frames parsed and sent: {}", err);
386-
return Err(err);
386+
return Err(err.into());
387387
}
388388
};
389389

0 commit comments

Comments
 (0)