MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / start

Method start

packages/server/src/transport/webrtc.rs:1318–1342  ·  view source on GitHub ↗
(
        bridge: android::AndroidBridge,
        metrics: Arc<crate::metrics::counters::Metrics>,
        udid: String,
        quality: android::AndroidH264StreamQuality,
    )

Source from the content-addressed store, hash-verified

1316
1317impl AndroidWebRtcSource {
1318 pub(crate) async fn start(
1319 bridge: android::AndroidBridge,
1320 metrics: Arc<crate::metrics::counters::Metrics>,
1321 udid: String,
1322 quality: android::AndroidH264StreamQuality,
1323 ) -> Result<Self, AppError> {
1324 let (sender, _) = broadcast::channel(ANDROID_WEBRTC_FRAME_BROADCAST_CAPACITY);
1325 let (shutdown_tx, _) = broadcast::channel(1);
1326 let inner = Arc::new(AndroidWebRtcSourceInner {
1327 udid: udid.clone(),
1328 shutdown_tx,
1329 sender,
1330 latest_keyframe: RwLock::new(None),
1331 frame_sequence: AtomicU64::new(0),
1332 quality: Mutex::new(quality),
1333 encoder_handle: AtomicUsize::new(0),
1334 callback_user_data: AtomicUsize::new(0),
1335 metrics,
1336 });
1337
1338 let source = Self { inner };
1339 source.inner.create_native_encoder()?;
1340 spawn_android_shared_video_encoder(bridge, &source.inner);
1341 Ok(source)
1342 }
1343
1344 pub(crate) fn subscribe(&self) -> broadcast::Receiver<SharedFrame> {
1345 self.inner.sender.subscribe()

Callers

nothing calls this directly

Calls 3

create_native_encoderMethod · 0.80
cloneMethod · 0.65

Tested by

no test coverage detected