Skip to content

Commit fca3111

Browse files
committed
refactor: use type aliases
1 parent 6224f2a commit fca3111

9 files changed

Lines changed: 21 additions & 9 deletions

File tree

crates/librist-sys/librist

Submodule librist added at 192a2fc

crates/librist/src/callbacks.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ use std::sync::Arc;
1515
// Callback Type Aliases
1616
// ============================================================================
1717

18+
/// Log callback: (level, message).
19+
pub(crate) type LogCallback = Box<dyn Fn(crate::LogLevel, &str) + Send + Sync>;
20+
1821
/// Stats callback for sender statistics.
1922
pub(crate) type StatsCallback<T> = Box<dyn Fn(&T) + Send + Sync>;
2023

crates/librist/src/logging.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ use std::ffi::CStr;
44
use std::os::raw::{c_char, c_int, c_void};
55
use std::ptr;
66

7+
/// Type alias for log callback closures.
8+
type LogCallbackFn = Box<dyn Fn(LogLevel, &str) + Send + Sync>;
9+
710
/// Log level for RIST operations.
811
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
912
#[repr(i32)]
@@ -115,7 +118,7 @@ impl LoggingSettings {
115118
F: Fn(LogLevel, &str) + Send + Sync + 'static,
116119
{
117120
// Box the callback and then box the trait object to get a thin pointer
118-
let callback: Box<dyn Fn(LogLevel, &str) + Send + Sync> = Box::new(callback);
121+
let callback: LogCallbackFn = Box::new(callback);
119122
let callback = Box::new(callback);
120123
// Get a raw pointer to the Box (thin pointer, properly aligned)
121124
let callback_ptr = Box::into_raw(callback);

crates/librist/src/receiver.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
use crate::callbacks::{
44
auth_connect_trampoline, auth_disconnect_trampoline, receiver_connection_trampoline,
55
receiver_data_trampoline, receiver_oob_trampoline, receiver_stats_trampoline,
6-
AuthConnectCallback, AuthDisconnectCallback, DataCallback, OobCallback, ReceiverCallbacks,
6+
AuthConnectCallback, AuthDisconnectCallback, ConnectionCallback, DataCallback, LogCallback,
7+
OobCallback, ReceiverCallbacks, StatsCallback,
78
};
89
use crate::data::DataBlock;
910
use crate::error::{check_result, Error, Result};
@@ -344,12 +345,12 @@ unsafe impl Sync for RistReceiver {}
344345
pub struct ReceiverBuilder {
345346
profile: Profile,
346347
log_level: LogLevel,
347-
log_callback: Option<Box<dyn Fn(LogLevel, &str) + Send + Sync>>,
348+
log_callback: Option<LogCallback>,
348349
nack_type: NackType,
349350
fifo_size: Option<u32>,
350351
stats_interval_ms: Option<u32>,
351-
stats_callback: Option<Box<dyn Fn(&ReceiverStats) + Send + Sync>>,
352-
connection_callback: Option<Box<dyn Fn(u32, ConnectionStatus) + Send + Sync>>,
352+
stats_callback: Option<StatsCallback<ReceiverStats>>,
353+
connection_callback: Option<ConnectionCallback>,
353354
data_callback: Option<DataCallback>,
354355
auth_connect_callback: Option<AuthConnectCallback>,
355356
auth_disconnect_callback: Option<AuthDisconnectCallback>,

crates/librist/src/sender.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::callbacks::{
44
sender_connection_trampoline, sender_oob_trampoline, sender_stats_trampoline,
5-
OobCallback, SenderCallbacks,
5+
ConnectionCallback, LogCallback, OobCallback, SenderCallbacks, StatsCallback,
66
};
77
use crate::data::DataBlockBuilder;
88
use crate::error::{check_result, Error, Result};
@@ -385,10 +385,10 @@ pub struct SenderBuilder {
385385
profile: Profile,
386386
flow_id: Option<u32>,
387387
log_level: LogLevel,
388-
log_callback: Option<Box<dyn Fn(LogLevel, &str) + Send + Sync>>,
388+
log_callback: Option<LogCallback>,
389389
stats_interval_ms: Option<u32>,
390-
stats_callback: Option<Box<dyn Fn(&SenderStats) + Send + Sync>>,
391-
connection_callback: Option<Box<dyn Fn(u32, ConnectionStatus) + Send + Sync>>,
390+
stats_callback: Option<StatsCallback<SenderStats>>,
391+
connection_callback: Option<ConnectionCallback>,
392392
oob_callback: Option<OobCallback>,
393393
enable_oob: bool,
394394
}

inspiration/moblin

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 2199d37db92a68409e2d56d1220666d513c49870

inspiration/rist-bonding

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 8963c42f19068f8a189e0e6934624a214256ad7c

inspiration/rist-swift-wrapper

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit f3bfb84890fa0bae701682914dbb1659a96928c6

inspiration/stream-relay

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 71801ba90717317d5167075135641371e3867635

0 commit comments

Comments
 (0)