feat: video publishing (#42)
- Prepare webrtc abstraction ( for future wasm support ) - Added track publish support for videos - Added LogoTrack example to simple_room demo - Lot of cleanup - There are compiler warnings I'll solve on our v1 release
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
use crate::track;
|
||||
|
||||
include!(concat!(env!("OUT_DIR"), "/livekit.rs"));
|
||||
|
||||
// Conversions
|
||||
impl TryFrom<TrackType> for track::TrackKind {
|
||||
type Error = &'static str;
|
||||
|
||||
fn try_from(r#type: TrackType) -> Result<Self, Self::Error> {
|
||||
match r#type {
|
||||
TrackType::Audio => Ok(Self::Audio),
|
||||
TrackType::Video => Ok(Self::Video),
|
||||
TrackType::Data => Err("data tracks are not implemented yet"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<track::TrackKind> for TrackType {
|
||||
fn from(kind: track::TrackKind) -> Self {
|
||||
match kind {
|
||||
track::TrackKind::Audio => Self::Audio,
|
||||
track::TrackKind::Video => Self::Video,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<TrackSource> for track::TrackSource {
|
||||
fn from(source: TrackSource) -> Self {
|
||||
match source {
|
||||
TrackSource::Camera => Self::Camera,
|
||||
TrackSource::Microphone => Self::Microphone,
|
||||
TrackSource::ScreenShare => Self::Screenshare,
|
||||
TrackSource::ScreenShareAudio => Self::ScreenshareAudio,
|
||||
TrackSource::Unknown => Self::Unknown,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<track::TrackSource> for TrackSource {
|
||||
fn from(source: track::TrackSource) -> Self {
|
||||
match source {
|
||||
track::TrackSource::Camera => Self::Camera,
|
||||
track::TrackSource::Microphone => Self::Microphone,
|
||||
track::TrackSource::Screenshare => Self::ScreenShare,
|
||||
track::TrackSource::ScreenshareAudio => Self::ScreenShareAudio,
|
||||
track::TrackSource::Unknown => Self::Unknown,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user