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:
@@ -1,15 +1,48 @@
|
||||
use thiserror::Error;
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", path = "web/mod.rs")]
|
||||
#[cfg_attr(not(target_arch = "wasm32"), path = "native/mod.rs")]
|
||||
mod imp;
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
||||
pub enum MediaType {
|
||||
Audio,
|
||||
Video,
|
||||
Data,
|
||||
Unsupported,
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
||||
pub enum RtcErrorType {
|
||||
Internal,
|
||||
InvalidSdp,
|
||||
InvalidState,
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
#[error("an RtcError occured: {error_type:?} - {message}")]
|
||||
pub struct RtcError {
|
||||
pub error_type: RtcErrorType,
|
||||
pub message: String,
|
||||
}
|
||||
|
||||
pub mod data_channel;
|
||||
pub mod jsep;
|
||||
pub mod ice_candidate;
|
||||
pub mod media_stream;
|
||||
pub mod peer_connection;
|
||||
pub mod peer_connection_factory;
|
||||
pub mod prelude;
|
||||
pub mod rtc_error;
|
||||
pub mod rtp_parameters;
|
||||
pub mod rtp_receiver;
|
||||
pub mod rtp_sender;
|
||||
pub mod rtp_transceiver;
|
||||
pub mod session_description;
|
||||
pub mod video_frame;
|
||||
pub mod video_frame_buffer;
|
||||
pub mod webrtc;
|
||||
pub mod yuv_helper;
|
||||
pub mod video_source;
|
||||
pub mod video_stream;
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
pub mod native {
|
||||
pub use crate::imp::yuv_helper;
|
||||
pub use webrtc_sys::webrtc::ffi::create_random_uuid;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user