Git Product home page Git Product logo

rust-sdks's Introduction

The LiveKit icon, the name of the repository and some sample code in the background.

📹🎙️🦀 Rust Client SDK for LiveKit

Use this SDK to add real-time video, audio and data features to your Rust app. By connecting to a self- or cloud-hosted LiveKit server, you can quickly build applications like interactive live streaming or video calls with just a few lines of code.

crates.io livekit docs.rs Builds Tests

Features

  • Receiving tracks
  • Publishing tracks
  • Data channels
  • Simulcast
  • SVC codecs (AV1/VP9)
  • Adaptive Streaming
  • Dynacast
  • Hardware video enc/dec
    • VideoToolbox for MacOS/iOS
  • Supported Platforms
    • Windows
    • MacOS
    • Linux
    • iOS
    • Android

Crates

  • livekit-api: Server APIs and auth token generation
  • livekit: LiveKit real-time SDK
  • livekit-ffi: Internal crate, used to generate bindings for other languages

When adding the SDK as a dependency to your project, make sure to add the necessary rustflags to your cargo config, otherwise linking may fail.

Also, please refer to the list of the supported platform toolkits.

Getting started

Currently, Tokio is required to use this SDK, however we plan to make the async executor runtime agnostic.

Using Server API

Generating an access token

use livekit_api::access_token;
use std::env;

fn create_token() -> Result<String, access_token::AccessTokenError> {
    let api_key = env::var("LIVEKIT_API_KEY").expect("LIVEKIT_API_KEY is not set");
    let api_secret = env::var("LIVEKIT_API_SECRET").expect("LIVEKIT_API_SECRET is not set");

    let token = access_token::AccessToken::with_api_key(&api_key, &api_secret)
        .with_identity("rust-bot")
        .with_name("Rust Bot")
        .with_grants(access_token::VideoGrants {
             room_join: true,
             room: "my-room".to_string(),
             ..Default::default()
        })
        .to_jwt();
    return token
}

Creating a room with RoomService API

use livekit_api::services::room::{CreateRoomOptions, RoomClient};

#[tokio::main]
async fn main() {
    let room_service = RoomClient::new("http://localhost:7880").unwrap();

    let room = room_service
        .create_room("my_room", CreateRoomOptions::default())
        .await
        .unwrap();

    println!("Created room: {:?}", room);
}

Using Real-time SDK

Connect to a Room and listen for events:

use livekit::prelude::*;

#[tokio::main]
async fn main() -> Result<()> {
    let (room, mut room_events) = Room::connect(&url, &token).await?;

    while let Some(event) = room_events.recv().await {
        match event {
            RoomEvent::TrackSubscribed { track, publication, participant } => {
                // ...
            }
            _ => {}
        }
    }

    Ok(())
}

Receive video frames of a subscribed track

...
use futures::StreamExt; // this trait is required for iterating on audio & video frames
use livekit::prelude::*;

match event {
    RoomEvent::TrackSubscribed { track, publication, participant } => {
        match track {
            RemoteTrack::Audio(audio_track) => {
                let rtc_track = audio_track.rtc_track();
                let mut audio_stream = NativeAudioStream::new(rtc_track);
                tokio::spawn(async move {
                    // Receive the audio frames in a new task
                    while let Some(audio_frame) = audio_stream.next().await {
                        log::info!("received audio frame - {audio_frame:#?}");
                    }
                });
            },
            RemoteTrack::Video(video_track) => {
                let rtc_track = video_track.rtc_track();
                let mut video_stream = NativeVideoStream::new(rtc_track);
                tokio::spawn(async move {
                    // Receive the video frames in a new task
                    while let Some(video_frame) = video_stream.next().await {
                        log::info!("received video frame - {video_frame:#?}");
                    }
                });
            },
        }
    },
    _ => {}
}

Examples

  • basic room: simple example connecting to a room.
  • wgpu_room: complete example app with video rendering using wgpu and egui.
  • mobile: mobile app targeting iOS and Android
  • play_from_disk: publish audio from a wav file
  • save_to_disk: save received audio to a wav file

Motivation and Design Goals

LiveKit aims to provide an open source, end-to-end WebRTC stack that works everywhere. We have two goals in mind with this SDK:

  1. Build a standalone, cross-platform LiveKit client SDK for Rustaceans.
  2. Build a common core for other platform-specific SDKs (e.g. Unity, Unreal, iOS, Android)

Regarding (2), we've already developed a number of client SDKs for several platforms and encountered a few challenges in the process:

  • There's a significant amount of business/control logic in our signaling protocol and WebRTC. Currently, this logic needs to be implemented in every new platform we support.
  • Interactions with media devices and encoding/decoding are specific to each platform and framework.
  • For multi-platform frameworks (e.g. Unity, Flutter, React Native), the aforementioned tasks proved to be extremely painful.

Thus, we posited a Rust SDK, something we wanted build anyway, encapsulating all our business logic and platform-specific APIs into a clean set of abstractions, could also serve as the foundation for our other SDKs!

We'll first use it as a basis for our Unity SDK (under development), but over time, it will power our other SDKs, as well.


LiveKit Ecosystem
Real-time SDKsReact Components · JavaScript · iOS/macOS · Android · Flutter · React Native · Rust · Python · Unity (web) · Unity (beta)
Server APIsNode.js · Golang · Ruby · Java/Kotlin · Python · Rust · PHP (community)
Agents FrameworksPython · Playground
ServicesLivekit server · Egress · Ingress · SIP
ResourcesDocs · Example apps · Cloud · Self-hosting · CLI

rust-sdks's People

Contributors

cloudwebrtc avatar cs50victor avatar daniel-abramov avatar davidzhao avatar dennwc avatar dsa avatar gustavo-lighttwist avatar leanmendoza avatar mikayla-maki avatar ocupe avatar spiegela avatar talksik avatar theomonnom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rust-sdks's Issues

Missing support for topic in data transfer protocol

Error establishing connection

Hi livekit team. I'm using the rust sdk with livekit cloud (we have a paid subscription: [email protected]). This is a simple test trying to establish a connection and listening for events. I get the following error. There's an issue with establishing the connection. What could the issue be? Thanks!

terminate called after throwing an instance of 'std::invalid_argument'
  what():  data for rust::String is not utf-8
error: test failed, to rerun pass `--lib`

and

#[cfg(test)]
mod tests {
    use super::*;
    use std::env;

    #[tokio::test]
    async fn test_livekit_client() {
        dotenvy::dotenv().expect("Failed to load .env file");

        let url = env::var("LIVEKIT_SERVER").expect("LIVEKIT_SERVER must be set");
        let api_key = env::var("LIVEKIT_API_KEY").expect("LIVEKIT_API_KEY must be set");
        let api_secret = env::var("LIVEKIT_API_SECRET").expect("LIVEKIT_API_SECRET must be set");

        let token = access_token::AccessToken::with_api_key(&api_key, &api_secret)
            .with_identity("rust-bot")
            .with_name("Rust Bot")
            .with_grants(access_token::VideoGrants {
                room_join: true,
                room: "my-room".to_string(),
                ..Default::default()
            })
            .to_jwt()
            .expect("could not issue token");

        let (room, mut rx) = Room::connect(&url, &token, RoomOptions::default())
            .await
            .expect("could not connect to room");

        room.local_participant()
            .publish_data(DataPacket {
                payload: "Hi".to_owned().into_bytes(),
                kind: DataPacketKind::Reliable,
                ..Default::default()
            })
            .await
            .expect("could not publish data");

        while let Some(msg) = rx.recv().await {
            println!("Event: {:?}", msg);
        }
    }
}

i'm using the following versions

livekit = { version = "0.3.0"  }
livekit-api = { version = "0.3.0", features = ["rustls-tls-native-roots"] }
livekit-protocol = "0.3.0"

it's an ec2 running ubuntu

 Virtualization: xen
Operating System: Ubuntu 22.04.3 LTS              
          Kernel: Linux 6.2.0-1018-aws
    Architecture: x86-64
 Hardware Vendor: Xen
 rustc --version
rustc 1.76.0 (07dca489a 2024-02-04)

Livekit crash on android example app

I updated to the last version of LiveKit for compiling for Android, and my app is crashing.

To discard that problem from my app, I tried with your example app in examples/mobile/, and it's crashing in the same place.

I compiled without stripping debug symbols and I'm getting this call stack:

04-20 10:01:05.177 31546 31546 F DEBUG   : Cmdline: io.livekit.rustexample
04-20 10:01:05.177 31546 31546 F DEBUG   : pid: 31497, tid: 31537, name: tokio-runtime-w  >>> io.livekit.rustexample <<<
04-20 10:01:05.178 31546 31546 F DEBUG   :       #01 pc 00000000013d71dc  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (rtc::webrtc_checks_impl::WriteFatalLog(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >)+156)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #02 pc 00000000013d7870  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)+416)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #03 pc 0000000000edfd24  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_jmethodID* webrtc::MethodID::LazyGet<(webrtc::MethodID::Type)1>(_JNIEnv*, _jclass*, char const*, char const*, std::__ndk1::atomic<_jmethodID*>*)+224)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #04 pc 0000000000eded08  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (void jni_generator::JniJavaCallContextUnchecked::Init<(webrtc::MethodID::Type)1>(_JNIEnv*, _jclass*, char const*, char const*, std::__ndk1::atomic<_jmethodID*>*)+68)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #05 pc 0000000000edebf4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (void jni_generator::JniJavaCallContextChecked::Init<(webrtc::MethodID::Type)1>(_JNIEnv*, _jclass*, char const*, char const*, std::__ndk1::atomic<_jmethodID*>*)+24)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #06 pc 00000000010aec28  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (webrtc::jni::VideoCodecInfoToSdpVideoFormat(_JNIEnv*, webrtc::JavaRef<_jobject*> const&)+136)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #07 pc 00000000010ac73c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::vector<webrtc::SdpVideoFormat, std::__ndk1::allocator<webrtc::SdpVideoFormat> > webrtc::JavaToNativeVector<webrtc::SdpVideoFormat, webrtc::SdpVideoFormat (*)(_JNIEnv*, webrtc::JavaRef<_jobject*> const&)>(_JNIEnv*, webrtc::JavaRef<_jobjectArray*> const&, webrtc::SdpVideoFormat (*)(_JNIEnv*, webrtc::JavaRef<_jobject*> const&))+152)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #08 pc 00000000010ac5bc  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (webrtc::jni::VideoEncoderFactoryWrapper::VideoEncoderFactoryWrapper(_JNIEnv*, webrtc::JavaRef<_jobject*> const&)+228)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #09 pc 00000000010a2f74  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::__unique_if<webrtc::jni::VideoEncoderFactoryWrapper>::__unique_single std::__ndk1::make_unique<webrtc::jni::VideoEncoderFactoryWrapper, _JNIEnv*&, webrtc::JavaParamRef<_jobject*> >(_JNIEnv*&, webrtc::JavaParamRef<_jobject*>&&)+52)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #10 pc 00000000010a2f20  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (webrtc::JavaToNativeVideoEncoderFactory(_JNIEnv*, _jobject*)+44)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #11 pc 000000000151e3d8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::CreateAndroidVideoEncoderFactory()+200)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #12 pc 00000000015122e4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::VideoEncoderFactory::InternalFactory::InternalFactory()+84)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #13 pc 000000000151359c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::__unique_if<livekit::VideoEncoderFactory::InternalFactory>::__unique_single std::__ndk1::make_unique<livekit::VideoEncoderFactory::InternalFactory>()+40)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #14 pc 00000000015134e0  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::VideoEncoderFactory::VideoEncoderFactory()+72)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #15 pc 00000000014f737c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::__unique_if<livekit::VideoEncoderFactory>::__unique_single std::__ndk1::make_unique<livekit::VideoEncoderFactory>()+32)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #16 pc 00000000014f6994  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::PeerConnectionFactory::PeerConnectionFactory(std::__ndk1::shared_ptr<livekit::RtcRuntime>)+1012)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #17 pc 00000000014fc9a8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::__compressed_pair_elem<livekit::PeerConnectionFactory, 1, false>::__compressed_pair_elem<std::__ndk1::shared_ptr<livekit::RtcRuntime>&&, 0ul>(std::__ndk1::piecewise_construct_t, std::__ndk1::tuple<std::__ndk1::shared_ptr<livekit::RtcRuntime>&&>, std::__ndk1::__tuple_indices<0ul>)+84)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #18 pc 00000000014fc638  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::__compressed_pair<std::__ndk1::allocator<livekit::PeerConnectionFactory>, livekit::PeerConnectionFactory>::__compressed_pair<std::__ndk1::allocator<livekit::PeerConnectionFactory>&, std::__ndk1::shared_ptr<livekit::RtcRuntime>&&>(std::__ndk1::piecewise_construct_t, std::__ndk1::tuple<std::__ndk1::allocator<livekit::PeerConnectionFactory>&>, std::__ndk1::tuple<std::__ndk1::shared_ptr<livekit::RtcRuntime>&&>)+124)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #19 pc 00000000014fc2a0  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::__shared_ptr_emplace<livekit::PeerConnectionFactory, std::__ndk1::allocator<livekit::PeerConnectionFactory> >::__shared_ptr_emplace<std::__ndk1::shared_ptr<livekit::RtcRuntime> >(std::__ndk1::allocator<livekit::PeerConnectionFactory>, std::__ndk1::shared_ptr<livekit::RtcRuntime>&&)+132)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #20 pc 00000000014f82b8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::__ndk1::enable_if<!(is_array<livekit::PeerConnectionFactory>::value), std::__ndk1::shared_ptr<livekit::PeerConnectionFactory> >::type std::__ndk1::make_shared<livekit::PeerConnectionFactory, std::__ndk1::shared_ptr<livekit::RtcRuntime> >(std::__ndk1::shared_ptr<livekit::RtcRuntime>&&)+140)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #21 pc 00000000014f81f0  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::create_peer_connection_factory()+40)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #22 pc 00000000014e0010  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit$cxxbridge1$create_peer_connection_factory+36)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #23 pc 0000000000ed3814  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (webrtc_sys::peer_connection_factory::ffi::create_peer_connection_factory::h650615e53b19f5e3+24)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #24 pc 0000000000e866d4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_$LT$libwebrtc..imp..peer_connection_factory..PeerConnectionFactory$u20$as$u20$core..default..Default$GT$::default::hda9cab405b69757b+116)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #25 pc 00000000009e8438  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_$LT$libwebrtc..peer_connection_factory..PeerConnectionFactory$u20$as$u20$core..default..Default$GT$::default::hc2c5a9773c77d26b+16)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #26 pc 000000000081c2d4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::rtc_engine::lk_runtime::LkRuntime::instance::ha9b7ee27e0b078e5+248)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #27 pc 00000000007dfa34  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::rtc_engine::EngineInner::connect::_$u7b$$u7b$closure$u7d$$u7d$::h930cbd4bacbd5284+280)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #28 pc 00000000007e1200  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::rtc_engine::RtcEngine::connect::_$u7b$$u7b$closure$u7d$$u7d$::ha16d49d91c4ed4b8+492)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #29 pc 00000000007d6124  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (livekit::room::Room::connect::_$u7b$$u7b$closure$u7d$$u7d$::h65651b0884c4a8cc+884)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #30 pc 00000000007ec678  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (mobile::livekit_connect::_$u7b$$u7b$closure$u7d$$u7d$::h66c043ca252ba3e5+508)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #31 pc 00000000007dd61c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hbde2059b8808cbb5+128)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #32 pc 00000000007dcb04  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hb0a8665c39c41b59+88)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #33 pc 00000000007f1fa4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hf678ad33562fe0e2+56)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #34 pc 00000000007d30e4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h88ada24e270bfb45+36)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #35 pc 00000000007e3964  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panicking::try::do_call::h8385be56a049fb71+72)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #36 pc 00000000007e5ab0  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (__rust_try+24)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #37 pc 00000000007e24c8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panicking::try::haabbe72e0af60ded+88)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #38 pc 00000000007f7fe4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panic::catch_unwind::h8a1f0e5274965ef7+4)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #39 pc 00000000007f13a0  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::poll_future::hd49dc7520e786853+84)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #40 pc 00000000007f25e4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h77ac4d363e2bd37b+152)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #41 pc 00000000007f47c8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heac50480b03720a3+20)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #42 pc 00000000007eeb20  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::raw::poll::h45ba1259f77e388d+28)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #43 pc 00000000015c1564  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::raw::RawTask::poll::h5c98a805af6d511f+44)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #44 pc 00000000015a6290  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::LocalNotified$LT$S$GT$::run::h532c3820813c5e00+36)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #45 pc 00000000015ca9e8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::haff8492224f293ff+40)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #46 pc 00000000015ca8d8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h277a223adcc5cc8b+736)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #47 pc 00000000015ca220  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::Context::run::hf22a4d3f2a0bf862+540)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #48 pc 00000000015c9f44  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h1cf55ba2c8ebfa7d+96)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #49 pc 0000000001595514  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h7b447a76bc7d752e+140)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #50 pc 00000000015886dc  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h057726177b45a394+32)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #51 pc 00000000015a2274  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::thread::local::LocalKey$LT$T$GT$::try_with::h2214f3b4dc88f859+196)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #52 pc 00000000015a1c4c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::thread::local::LocalKey$LT$T$GT$::with::h1679100f53caa4db+16)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #53 pc 0000000001588670  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::context::set_scheduler::h945fd681d3ff8389+60)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #54 pc 00000000015c9e70  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::h763171542d81d1df+268)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #55 pc 0000000001571754  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::context::runtime::enter_runtime::hca9dfb26319733d2+208)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #56 pc 00000000015c9cb4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::run::h1fe6e1d6c16afa87+340)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #57 pc 00000000015c9b50  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::scheduler::multi_thread::worker::Launch::launch::_$u7b$$u7b$closure$u7d$$u7d$::hcc0b292d29305ba9+16)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #58 pc 00000000015a66b8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h029272d8b11b590c+128)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #59 pc 000000000158a338  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hf11592f1dff2eb73+124)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #60 pc 0000000001589e28  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8dc749b61071f23c+88)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #61 pc 000000000156c6ec  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::ha13e8d49c9e8a0c1+56)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #62 pc 000000000155ae18  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hb34baa4dd23048fe+36)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #63 pc 0000000001574bd4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panicking::try::do_call::he5e897f6e9884051+72)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #64 pc 0000000001575a34  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (__rust_try+24)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #65 pc 0000000001573d70  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panicking::try::hb52057f1c2f46bc1+88)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #66 pc 0000000001594bf8  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panic::catch_unwind::hbc670d0f84f59870+4)
04-20 10:01:05.178 31546 31546 F DEBUG   :       #67 pc 000000000156c29c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::poll_future::hbf1ce4ea62e853be+84)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #68 pc 000000000156a474  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::hb046fccdadf5050e+152)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #69 pc 0000000001569e20  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h5a75faa13c7d259c+20)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #70 pc 00000000015c1914  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::raw::poll::hc751560c52b2c35a+28)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #71 pc 00000000015c1564  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::raw::RawTask::poll::h5c98a805af6d511f+44)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #72 pc 00000000015a634c  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::task::UnownedTask$LT$S$GT$::run::h733fd2b5fd4eecec+56)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #73 pc 0000000001566484  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::blocking::pool::Task::run::hc4b6fc6ca96c1173+20)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #74 pc 0000000001568768  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::blocking::pool::Inner::run::h6166662233c0251b+504)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #75 pc 00000000015684dc  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::he2502bfd232b628d+136)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #76 pc 0000000001561114  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::sys_common::backtrace::__rust_begin_short_backtrace::h8f6a56c65912e9e2+8)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #77 pc 000000000156e664  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h08680c0852a5dfbf+32)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #78 pc 000000000155acb4  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h87d063405837e132+32)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #79 pc 0000000001574628  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panicking::try::do_call::h2a8accb23fa8b9c6+64)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #80 pc 0000000001575a34  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (__rust_try+24)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #81 pc 0000000001573b08  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::panicking::try::h67415aee774fdc72+68)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #82 pc 000000000156e4f0  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h8b156a939977b36d+368)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #83 pc 00000000015afd80  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::hcb0e56b63bc3b25d+16)
04-20 10:01:05.179 31546 31546 F DEBUG   :       #84 pc 0000000001618b14  /data/app/~~wHMZJk8AvtTZnkju61tOFw==/io.livekit.rustexample-IPPlTdV2o5-cJNNAcXUVBA==/base.apk (offset 0x139b000) (std::sys::pal::unix::thread::Thread::new::thread_start::hd215dc0c009a5708+32)
04-20 10:01:05.201  1074  1253 W ActivityManager: Missing app error report, app = io.livekit.rustexample crashing = true notResponding = false
04-20 10:01:05.203  1074 31556 W ActivityTaskManager:   Force finishing activity io.livekit.rustexample/.MainActivity

Looks like, it's something with the webrtc video codec if I'm not wrong

Windows build faild

some error info

cargo:warning=ToolExecError: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/video_decoder_factory.o" "-c" "src/video_decoder_factory.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/audio_resampler.o" "-c" "src/audio_resampler.cpp"
  audio_resampler.cpp
  src/audio_resampler.cpp(1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
  C:\Users\Administrator\Desktop\rust-sdks-main\webrtc-sys\include\livekit/audio_resampler.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'

  exit code: 2
  cargo:warning=ToolExecError: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/audio_device.o" "-c" "src/audio_device.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/frame_cryptor.o" "-c" "src/frame_cryptor.cpp"
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  frame_cryptor.cpp
  src/frame_cryptor.cpp(1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
  C:\Users\Administrator\Desktop\rust-sdks-main\webrtc-sys\include\livekit/frame_cryptor.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
  C:\Users\Administrator\Desktop\rust-sdks-main\webrtc-sys\include\livekit/webrtc.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
  C:\Users\Administrator\Desktop\rust-sdks-main\examples\target\debug\build\scratch-e9a99c9884e8e24e\out\livekit_webrtc\livekit\webrtc-win-x64-release-webrtc-0649214\webrtc-win-x64-release\include\third_party\abseil-cpp\absl/container/internal/inlined_vector.h(30): fatal error C1083: Cannot open include file: 'absl/container/internal/compressed_tuple.h': No such file or directory

  exit code: 2
  cargo:warning=ToolExecError: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/audio_resampler.o" "-c" "src/audio_resampler.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).C:\Users\Administrator\Desktop\rust-sdks-main\examples\target\debug\build\scratch-e9a99c9884e8e24e\out\livekit_webrtc\livekit\webrtc-win-x64-release-webrtc-0649214\webrtc-win-x64-release\include\third_party\abseil-cpp\absl/container/internal/inlined_vector.h(30): fatal error C1083: Cannot open include file: 'absl/container/internal/compressed_tuple.h': No such file or directory

  exit code: 2
  cargo:warning=ToolExecError: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/frame_cryptor.o" "-c" "src/frame_cryptor.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).
  --- stderr

  CXX include path:
    C:\Users\Administrator\Desktop\rust-sdks-main\examples\target\debug\build\webrtc-sys-de8572f667a4a4b2\out\cxxbridge\include
    C:\Users\Administrator\Desktop\rust-sdks-main\examples\target\debug\build\webrtc-sys-de8572f667a4a4b2\out\cxxbridge\crate


  error occurred: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\scratch-e9a99c9884e8e24e\\out\\livekit_webrtc\\livekit/webrtc-win-x64-release-webrtc-0649214/webrtc-win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\Administrator\\Desktop\\rust-sdks-main\\examples\\target\\debug\\build\\webrtc-sys-de8572f667a4a4b2\\out\\src/frame_cryptor.o" "-c" "src/frame_cryptor.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).

Complie error with visual studio 2019

error LNK2001: \xce\xde\xb7\xa8\xbd\xe2\xce\xf6\xb5\xc4\xcd\xe2\xb2\xbf\xb7\xfb\xba\xc5 __std_find_trivial_8\r\nlibwebrtc_sys-3a2b8c102776385a.rlib(resource_adaptation_processor.obj) :
error LNK2001: \xce\xde\xb7\xa8\xbd\xe2\xce\xf6\xb5\xc4\xcd\xe2\xb2\xbf\xb7\xfb\xba\xc5 __std_find_trivial_8\r\nlibwebrtc_sys-3a2b8c102776385a.rlib(video_rtp_track_source.obj)

warning: livekit-ffi (lib) generated 7 warnings
error: could not compile livekit-ffi due to previous error; 7 warnings emitted

Allow to create ParticipantSid from String in user module

Hey, I want test/use this livekit-rust-sdk in c++ code.
To do this I create internal-rust-layer to expose some functionality, and extract it to c++.
I came across a problem to create ParticipantSid from String in user module,
therefore i purpose to add 'pub' in declaration of this type:

pub struct ParticipantSid(String);
pub struct ParticipantSid(pub String);

Do you think it is ok, or I should choose other way?

Building the SDK for Windows fails due to `webrtc-sys`

I have a clean Windows 10 set up with the latest version of Rust installed. I cloned the repository (latest main) and tried cargo check, but it failed when compiling webrtc-sys with a very long output that begins and ends with these lines:

error: failed to run custom build command for `webrtc-sys v0.2.0 (C:\Users\daniel\Documents\rust-sdks\webrtc-sys)`

Caused by:
  process didn't exit successfully: `C:\Users\daniel\Documents\rust-sdks\target\debug\build\webrtc-sys-801d3d6d1c0e658f\build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-env-changed=LK_DEBUG_WEBRTC
  cargo:rerun-if-env-changed=LK_CUSTOM_WEBRTC
  cargo:CXXBRIDGE_PREFIX=webrtc-sys
  cargo:CXXBRIDGE_DIR0=C:\Users\daniel\Documents\rust-sdks\target\debug\build\webrtc-sys-8d048465ea43cb63\out\cxxbridge\include
  cargo:CXXBRIDGE_DIR1=C:\Users\daniel\Documents\rust-sdks\target\debug\build\webrtc-sys-8d048465ea43cb63\out\cxxbridge\crate
  cargo:rustc-link-search=native=C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\lib
  cargo:rustc-link-lib=static=webrtc
  cargo:rustc-link-lib=dylib=msdmo
  cargo:rustc-link-lib=dylib=wmcodecdspuuid
  cargo:rustc-link-lib=dylib=dmoguids
  cargo:rustc-link-lib=dylib=crypt32
  cargo:rustc-link-lib=dylib=iphlpapi
  cargo:rustc-link-lib=dylib=ole32
  cargo:rustc-link-lib=dylib=secur32
  cargo:rustc-link-lib=dylib=winmm
  cargo:rustc-link-lib=dylib=ws2_32
  cargo:rustc-link-lib=dylib=strmiids
  cargo:rustc-link-lib=dylib=d3d11
  cargo:rustc-link-lib=dylib=gdi32
  cargo:rustc-link-lib=dylib=dxgi
  cargo:rustc-link-lib=dylib=dwmapi
  cargo:rustc-link-lib=dylib=shcore
  TARGET = Some("x86_64-pc-windows-msvc")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-pc-windows-msvc")
  cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
  CXX_x86_64-pc-windows-msvc = None
  cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
  CXX_x86_64_pc_windows_msvc = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("crt-static,fxsr,sse,sse2")
  DEBUG = Some("true")
  cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
  CXXFLAGS_x86_64-pc-windows-msvc = None
  cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
  CXXFLAGS_x86_64_pc_windows_msvc = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\b38b63e93fc88359-peer_connection.rs.o" "-c" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\sources\\webrtc-sys\\src\\peer_connection.rs.cc"
  running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\b38b63e93fc88359-peer_connection_factory.rs.o" "-c" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\sources\\webrtc-sys\\src\\peer_connection_factory.rs.cc"
  running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\b38b63e93fc88359-media_stream.rs.o" "-c" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\sources\\webrtc-sys\\src\\media_stream.rs.cc"
  running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\b38b63e93fc88359-media_stream_track.rs.o" "-c" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\sources\\webrtc-sys\\src\\media_stream_track.rs.cc"
  media_stream_track.rs.cc
  peer_connection.rs.cc
  media_stream.rs.cc
  peer_connection_factory.rs.cc
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'

 C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/checks.h(235): note: or       'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const'C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/checks.h(243): note: could be 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const'

  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\logging/rtc_event_log/events/rtc_event_field_encoding_parser.h(194): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const': could not deduce template argument for 'V'C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\logging/rtc_event_log/events/rtc_event_field_encoding_parser.h(194): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const': could not deduce template argument for 'V'

  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/checks.h(235): note: or       'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\logging/rtc_event_log/events/rtc_event_field_encoding_parser.h(194): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const': could not deduce template argument for 'V'
  exit code: 2

(..)

  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\fileapi.h(1065): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winbase.h(9166): error C2061: syntax error: identifier 'FILE_INFO_BY_HANDLE_CLASS'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/stream.h(111): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/stream.h(112): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/stream.h(120): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\media/base/media_engine.h(115): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\media/base/media_engine.h(116): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\media/base/media_engine.h(120): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\media/base/media_engine.h(180): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\media/base/media_engine.h(181): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\media/base/media_engine.h(186): warning C4068: unknown pragma 'clang'

  exit code: 2
  cargo:warning=ToolExecError: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\src/audio_resampler.o" "-c" "src/audio_resampler.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/stream.h(111): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/stream.h(112): warning C4068: unknown pragma 'clang'
  C:\Users\daniel\Documents\rust-sdks\target\debug\build\scratch-395d36f52bf370ef\out\livekit_webrtc\livekit\win-x64-release-webrtc-d5afc4b\win-x64-release\include\rtc_base/stream.h(120): warning C4068: unknown pragma 'clang'

  exit code: 2
  cargo:warning=ToolExecError: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\src/frame_cryptor.o" "-c" "src/frame_cryptor.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).

  --- stderr

  CXX include path:
    C:\Users\daniel\Documents\rust-sdks\target\debug\build\webrtc-sys-8d048465ea43cb63\out\cxxbridge\include
    C:\Users\daniel\Documents\rust-sdks\target\debug\build\webrtc-sys-8d048465ea43cb63\out\cxxbridge\crate


  error occurred: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MT" "-Z7" "-Brepro" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\cxxbridge\\crate" "-I" "./include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/abseil-cpp/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libyuv/include/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\third_party/libc++/" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc" "-I" "C:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\scratch-395d36f52bf370ef\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b/win-x64-release\\include\\sdk/objc/base" "/std:c++20" "/EHsc" "-DUSE_AURA=1" "-D_HAS_NODISCARD" "-D_CRT_NONSTDC_NO_WARNINGS" "-D_WINSOCK_DEPRECATED_NO_WARNINGS" "-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" "-D_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS" "-D_HAS_EXCEPTIONS=0" "-D__STD_C" "-D_CRT_RAND_S" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ATL_NO_OPENGL" "-D_WINDOWS" "-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS" "-DPSAPI_VERSION=2" "-DWIN32" "-D_SECURE_ATL" "-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP" "-DWIN32_LEAN_AND_MEAN" "-DNOMINMAX" "-D_UNICODE" "-DUNICODE" "-DNTDDI_VERSION=NTDDI_WIN10_NI" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DNDEBUG" "-DNVALGRIND" "-DDYNAMIC_ANNOTATIONS_ENABLED=0" "-DWEBRTC_ENABLE_PROTOBUF=0" "-DWEBRTC_STRICT_FIELD_TRIALS=0" "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" "-DRTC_ENABLE_VP9" "-DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" "-DWEBRTC_HAVE_SCTP" "-DWEBRTC_USE_H264" "-DWEBRTC_LIBRARY_IMPL" "-DWEBRTC_ENABLE_AVX2" "-DRTC_ENABLE_WIN_WGC" "-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0" "-DWEBRTC_WIN" "-DABSL_ALLOCATOR_NOTHROW=1" "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" "-DLIBYUV_DISABLE_NEON" "-DLIVEKIT_TEST" "-FoC:\\Users\\daniel\\Documents\\rust-sdks\\target\\debug\\build\\webrtc-sys-8d048465ea43cb63\\out\\src/frame_cryptor.o" "-c" "src/frame_cryptor.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).

When building for Mac OS, it builds just fine without any errors. Is there anything particular that must be configured in advance to make it build on Windows? I.e. are there any [undocumented] prerequisites? I'm happy to document them, but at the moment I'm not quite sure if it's a known issue.

This one slightly reminds me of #230.

Feature to build livekit crate without webrtc?

For my purposes I mostly want the signal_client and such, but don't need the livekit-webrtc related features to actually do the ICE etc, so it would be nice to be able to depend on the library and disable a feature or similar to not need those dependencies.

panic in cxx when trying to build a string from a Windows call

I'm posting the same issue dtolnay/cxx#1272 here as I'm not really sure when the issue is.

Hey there,
I'm getting the panic "data for rust::String is not utf-8" for a string built by Windows, in this particular case the string is mixed between English and Spanish:
(stun_port.cc:608): UDP send of 20 bytes to host 168.75.70.x:3478 failed with error 0 : [0x00002743] Se ha intentado una operación de socket en una red no accesible.\n

I think the Spanish part of the message is provided by Windows, here is the memory representation when I caught the panic:

    let raw_bytes_memory: Vec<u8> = vec![
        28, 0x73, 0x74, 0x75, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x63, 0x63, 0x3a, 0x36,
        0x30, 0x38, 0x29, 0x3a, 0x20, 0x55, 0x44, 0x50, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x6f,
        0x66, 0x20, 0x32, 0x30, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x68,
        0x6f, 0x73, 0x74, 0x20, 0x31, 0x36, 0x38, 0x2e, 0x37, 0x35, 0x2e, 0x37, 0x30, 0x2e, 0x78,
        0x3a, 0x33, 0x34, 0x37, 0x38, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69,
        0x74, 0x68, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x30, 0x20, 0x3a, 0x20, 0x5b, 0x30,
        0x78, 0x30, 0x30, 0x30, 0x30, 0x32, 0x37, 0x34, 0x33, 0x5d, 0x20, 0x53, 0x65, 0x20, 0x68,
        0x61, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x61, 0x64, 0x6f, 0x20, 0x75, 0x6e, 0x61,
        0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x63, 0x69, 0xf3, 0x6e, 0x20, 0x64, 0x65, 0x20, 0x73,
        0x6f, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x65, 0x6e, 0x20, 0x75, 0x6e, 0x61, 0x20, 0x72, 0x65,
        0x64, 0x20, 0x6e, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2e,
        0x0a,
    ];

    println!("{:?}", std::str::from_utf8(raw_bytes_memory.as_slice()));

The original crash callstack:

KernelBase.dll!00007ff9a3de531c() (Unknown Source:0)
my_lib.dll!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 78 (d:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\throw.cpp:78)
my_lib.dll!rust::cxxbridge1::panic<std::invalid_argument>(const char * msg) Line 85 ($USER\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cxx-1.0.107\src\cxx.cc:85)
my_lib.dll!rust::cxxbridge1::initString(rust::cxxbridge1::String * self, const char * s, unsigned __int64 len) Line 111 ($USER\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cxx-1.0.107\src\cxx.cc:111)
my_lib.dll!rust::cxxbridge1::String::String(const std::string & s) Line 119 ($USER\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cxx-1.0.107\src\cxx.cc:119)
my_lib.dll!livekit::LogSink::OnLogMessage(const std::string & message, rtc::LoggingSeverity severity) Line 164 ($USER\.cargo\git\checkouts\client-sdk-rust-361c57e9d86b28fa\6079dba\webrtc-sys\src\webrtc.cpp:164)
my_lib.dll!rtc::LogSink::OnLogMessage(class rtc::LogLineRef const &) (Unknown Source:0)
my_lib.dll!rtc::LogMessage::~LogMessage(void) (Unknown Source:0)
my_lib.dll!rtc::webrtc_logging_impl::Log(enum rtc::webrtc_logging_impl::LogArgType const *,...) (Unknown Source:0)
my_lib.dll!cricket::UDPPort::OnSendPacket(void const *,unsigned __int64,class cricket::StunRequest *) (Unknown Source:0)
my_lib.dll!std::_Func_class<void,void const *,unsigned __int64,class cricket::StunRequest *>::operator()(void const *,unsigned __int64,class cricket::StunRequest *) (Unknown Source:0)
my_lib.dll!cricket::StunRequest::SendInternal(void) (Unknown Source:0)
my_lib.dll!cricket::StunRequestManager::SendDelayed(class cricket::StunRequest *,int) (Unknown Source:0)
my_lib.dll!cricket::UDPPort::SendStunBindingRequests(void) (Unknown Source:0)
my_lib.dll!cricket::UDPPort::OnLocalAddressReady(class rtc::AsyncPacketSocket *,class rtc::SocketAddress const &) (Unknown Source:0)
my_lib.dll!cricket::UDPPort::PrepareAddress(void) (Unknown Source:0)
my_lib.dll!cricket::BasicPortAllocatorSession::AddAllocatedPort(class cricket::Port *,class cricket::AllocationSequence *) (Unknown Source:0)
my_lib.dll!cricket::AllocationSequence::CreateUDPPorts(void) (Unknown Source:0)
my_lib.dll!cricket::AllocationSequence::Process(int) (Unknown Source:0)
my_lib.dll!rtc::Thread::Dispatch(class absl::AnyInvocable<void >) (Unknown Source:0)

Mingw windows support

Hey
I'm working on windows, i have a go project where i want to call the rust sdk bindings of this repo, however cgo can't work with the msvc compiler, from your notes i see that currently is only available with msvc. Will you add support for mingw soon or how difficult would it be to try to compile it using the mingw toolchain?

Connecting this client with a gstreamer webrtcbin endpoint

Forgive me for this ignorant question.

I want to be able to connect to one of the livekit servers to receive a video stream. I came across this client-sdk implemented in Rust (Thanks a lot for this!).

I have the websocket url for the livekit server and the token.
I tried implementing a webrtc client using gstreamer webrtcbin element similar to the example here (https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20/subprojects/gst-examples/webrtc/sendrecv/gst-rust/src/main.rs)but that fails in the signalling.

Will I have to implement or use one of the client-sdk to make the connection and then feed the RTP packets to the gstreamer pipeline?

Livekit URL path suffix

I'm using livekit behind a reverse proxy, and have the traffic being routed to livekit using a suffix path.

Let's say wss://localhost/my/custom/path. I can make Javascript clients use this path, and even the livekit Meet doesn't complain.
However, it seems that Rust SDK (and the SDKs that use it, like python) just ignores my/custom/path and replace it completely with just /rtc

The root cause seems to be in the line.

Can this be changed?

VideoStreamEvent messages stop after about 10 seconds

I am trying to use the new Unity SDK to receive video stream. I am using the latest livekit_ffi sdk. Everything is fine in the beginning, the video is received. However about 300 frames later ffi client stops receiving VideoStreamEvents while AudioStreamEvents are still received. No errors on the server side. I am on Macbook Pro M3.

Confirmed on Windows 11 too.

Usage of ffi

Hello I want to integrate livekit in my c++ application, without a c++ sdk, I thought using rust ffi might be a solution, but in livekit_ffi.h, I didn't see much function declarations and I can't find any examples, is there any API references or code examples? Thanks.

H.264 error with wgpu example

got the following error when I run the wgpu_room example:

ERROR libwebrtc] (h264_decoder_impl.cc:312): FFmpeg H.264 decoder not found

and when I check my ffmpeg I got this:

ffmpeg -codecs | grep 264
ffmpeg version 5.1.3-1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr --extra-version=1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_qsv h264_cuvid ) (encoders: libx264 libx264rgb h264_nvenc h264_omx h264_qsv h264_v4l2m2m h264_vaapi )

Linking fails on Windows

After suggestions in #249, I was able to cargo check and cargo build the repository, so as a next stage, I added livekit dependency to my project and noticed that altthough cargo check worked fine, cargo build failed (presumably during linking phase).

I created a simple self-contained example to demonstrate the issue. I've created an empty project: cargo new --bin test-lk, then I modified Cargo.toml to use the latest LiveKit Rust SDK:

[package]
name = "test-lk"
version = "0.1.0"
edition = "2021"

[dependencies]
livekit = {git = "https://github.com/livekit/rust-sdks.git", branch = "main", features = ["native-tls"]}

The main.rs looks like this:

use livekit;

fn main() {}

Executing cargo check ends without any errors. However, trying to cargo build fails with:

PS C:\Users\daniel\Documents\test-lk> cargo build
    Blocking waiting for file lock on build directory
   Compiling webrtc-sys-build v0.2.0 (https://github.com/livekit/rust-sdks.git?branch=main#e0bda6e2)
   Compiling livekit-protocol v0.2.0 (https://github.com/livekit/rust-sdks.git?branch=main#e0bda6e2)
   Compiling webrtc-sys v0.2.0 (https://github.com/livekit/rust-sdks.git?branch=main#e0bda6e2)
   Compiling livekit-api v0.2.0 (https://github.com/livekit/rust-sdks.git?branch=main#e0bda6e2)
   Compiling libwebrtc v0.2.0 (https://github.com/livekit/rust-sdks.git?branch=main#e0bda6e2)
   Compiling livekit v0.2.0 (https://github.com/livekit/rust-sdks.git?branch=main#e0bda6e2)
   Compiling test-lk v0.1.0 (C:\Users\daniel\Documents\test-lk)
error: linking with `link.exe` failed: exit code: 1169
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.39.33321\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "C:\\Users\\daniel\\AppData\\Local\\Temp\\rustcy3ySjw\\symbols.o" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.2jf3vix9ew5sqs9o.rcgu.o" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.34iy5cc4sfl3vm3t.rcgu.o" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.3irrhvr6tob7e82h.rcgu.o" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.4ymk6n91gxwxghbu.rcgu.o" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.z5098o7ullfv559.rcgu.o" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.4lzugdl8ustdp1nb.rcgu.o" "/LIBPATH:C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.39.33321\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\build\\cxx-ad9d3eb992f64411\\out" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.39.33321\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\build\\link-cplusplus-09677cba447d7c4d\\out" "/LIBPATH:C:\\Users\\daniel\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\windows_x86_64_msvc-0.48.5\\lib" "/LIBPATH:C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\build\\scratch-15b610bd272838ce\\out\\livekit_webrtc\\livekit/win-x64-release-webrtc-d5afc4b-2/win-x64-release\\lib" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.39.33321\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\build\\webrtc-sys-77d51d2fe746e4ed\\out" "/LIBPATH:C:\\Users\\daniel\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\windows_x86_64_msvc-0.52.0\\lib" "/LIBPATH:C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblivekit-b17a7006f30355aa.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblivekit_api-dca1a56b044707cd.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtokio_tungstenite-b372201e4550d1a6.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtungstenite-4b8f064f370d04b4.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libdata_encoding-cc8a79ace7a1b673.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\librand-a0a98b5310bad759.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\librand_chacha-1a3fa5f2e1e2ef26.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libppv_lite86-daf70be6996faada.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\librand_core-cec86f7c85f566d2.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libgetrandom-327ced8532d69d9e.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libutf8-1f48bea5b305c547.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libbyteorder-d92f2689d90f44ce.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libsha1-03c3f7df5cab6bb2.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libcpufeatures-c1729a222cce30dd.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libdigest-e250a0eb3fb1a4cf.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libblock_buffer-2722ce3f6fd68fa3.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libcrypto_common-fe68bf67ee696471.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libgeneric_array-8c6182135c1dfbd1.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtypenum-1076682befadc198.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libreqwest-d00b021ee55d8d43.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libhyper_tls-07864fdfef2157a0.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libserde_urlencoded-451d2272d55a8d24.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwinreg-e6cf0c1449b5b4bc.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libipnet-e90c287c3df07b42.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtokio_native_tls-176b21a94466c3f3.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libmime-2e49d6de1b60f73b.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libencoding_rs-ee8d79e1698239cf.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libnative_tls-31093c0025263f2a.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libschannel-0414c398c6bc3b61.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwindows_sys-d93123ef9387ade2.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwindows_targets-a2d6c26884294389.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libhyper-4042243df92c03e3.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwant-dabe6de7c0922535.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtry_lock-bf348125faf602ad.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libhttparse-185e9ef146cd8e95.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libh2-648887769d2affe7.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libindexmap-85f2f2caec224b75.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libequivalent-aed6d10f7fd10d87.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libhashbrown-d7ff16249ac1a34f.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtokio_util-c576a3397d105873.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtower_service-521ee53e34eb2f0d.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtracing-750e066c6156d25d.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtracing_core-c422e48f60d9fd5d.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libonce_cell-67b346833f115c50.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libfutures_channel-cfe73c74c65e5348.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libhttp_body-9b5fce6882e0a587.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liburl-c308904238e41f8f.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libidna-59a1f892bf2c4195.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libunicode_normalization-b1ceae8bb8fc36d9.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtinyvec-7fde368f9d764c65.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtinyvec_macros-5d241765cbb9a266.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libunicode_bidi-2d0184f1e30318b9.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libform_urlencoded-5e069bc96ed5cd45.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libpercent_encoding-0f3a364525d4b65e.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libhttp-7fcdb19d44b60b8c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libfnv-d61f0f6cdeb29c2d.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblibwebrtc-c8f5a945f11b609c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libserde_json-92e208f80a1ee93f.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libryu-b3b82117ded96420.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libitoa-c7dc53b7a49ac806.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblog-a1cea56e90615fb9.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblazy_static-1e9f56ad924e5695.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtokio_stream-81c8c46ee71ffc60.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwebrtc_sys-6d04d825a142b8c1.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libcxx-4db27d80ebd54f3b.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblink_cplusplus-c3b66f61b052e098.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblivekit_protocol-627f40b5e40d9efe.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libpbjson_types-4c8e9ad908889d6c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libpbjson-e39633887523795c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libbase64-09c5ef418aaaf95d.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libchrono-3b74cef014c502ff.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libnum_traits-8ff6bec72ec9c564.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libserde-72a7ed4fe1f96993.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libprost-78f4e05414e376b8.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libtokio-8212ba5b6ab88b9f.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libnum_cpus-61a51ce0fc061202.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libsocket2-304118b717269b37.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libbytes-b38bed475c49d3de.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libmio-56873c40f44a837c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwindows_sys-ef706239d345fde9.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libparking_lot-43e451135425a9d4.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libparking_lot_core-7875deac8cfb549d.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libwindows_targets-283a4ce606f9547b.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libcfg_if-656685f8f63d488b.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libsmallvec-04160eae1380ff35.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\liblock_api-999aa4990f99fadb.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libscopeguard-9e6cadeab584ef0c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libthiserror-bdb19cdd9522beca.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libfutures_util-230e4cd597e52756.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libslab-6015c603a75ed46c.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libpin_project_lite-69f8d7536c4de529.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libfutures_sink-e61fdfcd8a9fe8d1.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libfutures_task-97f4ecba09df6fe7.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libpin_utils-ca58b20a1545274f.rlib" "C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\libfutures_core-81e23d4a01060423.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-4ee9ee8805e6ac55.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-b7f160f59ff3afe6.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-e8c24fed9d2415b5.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-dc5e694480c92f7d.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-6857d0a8b739d5f0.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-7a08ac386730ec94.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-f201b2212ca92765.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-de70a16c1e265404.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-e96b2f5623ee3f3d.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-a743693af38ef10c.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-50c4d9c55d61cc18.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-16be615c0f945bda.rlib" "C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-3447ff57d35e742b.rlib" "bcrypt.lib" "advapi32.lib" "windows.0.52.0.lib" "msdmo.lib" "wmcodecdspuuid.lib" "dmoguids.lib" "crypt32.lib" "iphlpapi.lib" "ole32.lib" "secur32.lib" "winmm.lib" "ws2_32.lib" "strmiids.lib" "d3d11.lib" "gdi32.lib" "dxgi.lib" "dwmapi.lib" "shcore.lib" "ntdll.lib" "windows.0.48.5.lib" "windows.0.48.5.lib" "kernel32.lib" "advapi32.lib" "bcrypt.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "kernel32.lib" "ws2_32.lib" "kernel32.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:C:\\Users\\daniel\\Documents\\test-lk\\target\\debug\\deps\\test_lk.exe" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\daniel\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis"
  = note: libwebrtc_sys-6d04d825a142b8c1.rlib(push_resampler.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(video_frame.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(audio_options.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(checks.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(media_stream_interface.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(audio_frame.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(remix_resample.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(push_sinc_resampler.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(logging.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(copy_on_write_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(jsep_ice_candidate.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(jsep_session_description.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(srtp_session.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(color_space.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(video_frame_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(i420_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(i422_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(i444_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(i010_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(nv12_buffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(thread.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(ssl_adapter.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(helpers.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(frame_crypto_transformer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(call_factory.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(audio_processing_builder_impl.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(field_trials_registry.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(field_trial_based_config.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(peer_connection_interface.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(peer_connection_factory.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(builtin_audio_decoder_factory.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(builtin_audio_encoder_factory.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(rtc_event_log_factory.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(default_task_queue_factory_win.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(webrtc_media_engine.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(video_source_interface.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
 (..)
          libwebrtc_sys-6d04d825a142b8c1.rlib(histogram.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libwebrtc_sys-6d04d825a142b8c1.rlib(reorder_optimizer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(srtp_session.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(srtp_session.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(frame_crypto_transformer.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(frame_crypto_transformer.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(frame_crypto_transformer.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(frame_crypto_transformer.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *)" (??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z) already defined in libwebrtc_sys-6d04d825a142b8c1.rlib(frame_crypto_transformer.obj)
          libcpmt.lib(raisehan.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(locale0.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(locale0.obj) : error LNK2005: "void __cdecl std::_Facet_Register(class std::_Facet_base *)" (?_Facet_Register@std@@YAXPEAV_Facet_base@1@@Z) already defined in msvcprt.lib(locale0_implib.obj)
          libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(bool)" (?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPEAV12@PEBD@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPEAV12@@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(locale.obj) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale.obj) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale.obj) : error LNK2005: "public: int __cdecl std::ios_base::flags(void)const " (?flags@ios_base@std@@QEBAHXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale.obj) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " (?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale.obj) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(__int64)" (?width@ios_base@std@@QEAA_J_J@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(locale.obj) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(void)const " (?width@ios_base@std@@QEBA_JXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(iosptrs.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(wlocale.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: char const * __cdecl std::_Locinfo::_Getdays(void)const " (?_Getdays@_Locinfo@std@@QEBAPEBDXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: char const * __cdecl std::_Locinfo::_Getmonths(void)const " (?_Getmonths@_Locinfo@std@@QEBAPEBDXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getdays(void)const " (?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getmonths(void)const " (?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: int __cdecl std::ios_base::flags(void)const " (?flags@ios_base@std@@QEBAHXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(__int64)" (?width@ios_base@std@@QEAA_J_J@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(wlocale.obj) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(void)const " (?width@ios_base@std@@QEBA_JXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: char const * __cdecl std::_Locinfo::_Getdays(void)const " (?_Getdays@_Locinfo@std@@QEBAPEBDXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: char const * __cdecl std::_Locinfo::_Getmonths(void)const " (?_Getmonths@_Locinfo@std@@QEBAPEBDXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getdays(void)const " (?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getmonths(void)const " (?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: int __cdecl std::ios_base::flags(void)const " (?flags@ios_base@std@@QEBAHXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " (?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(__int64)" (?width@ios_base@std@@QEAA_J_J@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlocale.obj) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(void)const " (?width@ios_base@std@@QEBA_JXZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xstol.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xstoul.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xstoll.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xstoull.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xlock.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xlock.obj) : error LNK2005: "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xlock.obj) : error LNK2005: "public: __cdecl std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QEAA@XZ) already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xstrcoll.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xdateord.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xwctomb.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xwctomb.obj) : error LNK2005: _Getcvt already defined in msvcprt.lib(MSVCP140.dll)
          libcpmt.lib(xwcscoll.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xwcsxfrm.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xgetwctype.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xtowlower.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xtowupper.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xstrxfrm.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(xmtx.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(StlCompareStringA.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(StlCompareStringW.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(StlLCMapStringW.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          libcpmt.lib(StlLCMapStringA.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libwebrtc_sys-6d04d825a142b8c1.rlib(cd5476bda1e49e65-audio_track.rs.o)
          LINK : warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
          C:\Users\daniel\Documents\test-lk\target\debug\deps\test_lk.exe : fatal error LNK1169: one or more multiply defined symbols found


warning: `test-lk` (bin "test-lk") generated 1 warning
error: could not compile `test-lk` (bin "test-lk") due to previous error; 1 warning emitted

track muted / unmuted events should specify track type

At the moment, Track Muted and Track Unmuted Events are used for both pausing and resuming videos or audio ( microphones ), but the TrackMuted & TrackUnmuted Event Structs don't specify which track got muted or unmuted

The support of screen sharing

Really glad that LiveKit uses Rust, this opens so many possibilities! 🙂 Having an excellent and easy-to-use library for real-time communication is really cool!

I've shortly gone through the example code and published tracks to see if there is a simple and straightforward way to add screen-sharing (something as easy to use as in the JS/TS SDK). From what I've understood so far, it seems like currently the only way to have screen sharing is to capture the frames in the user code and then convert them to YUV with one of the helpers, then pass it to the capture_frame which will encode the shelf and send it down the line to the RTP engine, etc.

I.e. is my understanding correct that at the moment there is no simple way to e.g. use the screen capturing engine from libwebrtc, so the user is expected to capture the frames by other means and supply them to the tracks?

please upload the webrtc library that downloaded in webrtc-sys to crates.io or a CDN that has fast access for global users

I noticed that there is a code snippet in line 101 of webrtc-sys-build-0.2.0’s lib.rs that downloads the webrtc library from github.

pub fn download_url() -> String {
    format!(
        "https://github.com/livekit/client-sdk-rust/releases/download/{}/{}.zip",
        WEBRTC_TAG,
        webrtc_triple()
    )
}

However, the download speed from github release varies in different regions. For example, I only get 20k/s here, which makes the download very likely to timeout and cause the compilation to fail. Is it possible to wrap the webrtc library into a crate, so that I can use a crates-proxy to speed up the download and avoid timeout (Or at least put the webrtc-library on a CDN that is faster for global users)?

Thank you very much.

webhook body decoding error

I randomly started getting this webhook error

code block the error is coming from :

let event = match webhook_receiver.receive(body, jwt) {
            Ok(i) => i,
            Err(e) => return Resp::InternalServerError().json(ServerMsg::error(e.to_string())),
        };

error message

"invalid body, failed to decode: unknown field `version`, expected one of `sid`, `name`, `empty_timeout`, `emptyTimeout`, `max_participants`, `maxParticipants`, `creation_time`, `creationTime`, `turn_password`, `turnPassword`, `enabled_codecs`, `enabledCodecs`, `metadata`, `num_participants`, `numParticipants`, `num_publishers`, `numPublishers`, `active_recording`, `activeRecording` at line 1 column 259"

image

Possible Place to fix error: https://github.com/livekit/rust-sdks/blob/main/livekit-protocol/src/livekit.rs#L3175

Question: roadmap and plans for the stable release

I really like that LiveKit invests in Rust and that this Rust SDK exists! I was very excited to see that many things are possible even with the developer preview version. However, I also noticed that the API still has a lot of rough edges and that it's still more in an "alpha" state rather than in a production-grade state (also, the README says that).

So I just wanted to ask if there is a roadmap item that summarizes all open issues that must be resolved before the Rust SDK could be considered production-ready (or, at least, to prepare a "beta version" of the Rust SDK suitable for the use in production) and if there is any approximate ETA for that 🙂 (I know estimating big epics and milestones is indeed very hard)

libwebrtc-sys conflicting with openssl-sys

Hi, I have been using this SDK recently, though after testing it a bit further a problem was encountered where an application depending on the SDK crashes while attempting to initialize OpenSSL when running in Ubuntu 22.04. It works fine on my Fedora 38 system, however.

I found that this is caused by libwebrtc-sys statically linking in BoringSSL code which conflicts with the dynamically linked OpenSSL symbols that other crates in the same application depend on. Furthermore, attempting to enable the various "vendored" features in other TLS provider crates will result in the application failing to link due to conflicting symbol names. I was able to get around the problem by modifying libwebrtc's build in a few places to prevent it from building any BoringSSL code, allowing for openssl-sys to fill that dependency. Are there any plans to un-bundle the TLS library from libwebrtc-sys or prevent the private symbols in libwebrtc from reaching outside of the libwebrtc-sys crate?

refactor video buffers

Video buffers should be refactored so we can directly pass pointers to libwebrtc (avoiding unnecessary allocations & copy).
It may also use Cow<'a, [u8]> like audio buffers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.