pub mod cmaf;
pub mod moq;
#[cfg(feature = "iroh")]
pub mod iroh;
#[cfg(feature = "iroh")]
pub mod bridge_server;
#[cfg(feature = "image")]
pub mod frame;
#[cfg(feature = "serial")]
pub mod serial;
#[cfg(all(feature = "serial", feature = "iroh"))]
pub mod serial_server;
#[cfg(any(feature = "serial-remote", all(feature = "serial", feature = "iroh")))]
pub mod serialport_impl;
#[cfg(any(feature = "serial-remote", all(feature = "serial", feature = "iroh")))]
pub mod serial_client;
#[cfg(any(feature = "serial-remote", all(feature = "serial", feature = "iroh")))]
pub mod serialport {
pub use crate::serialport_impl::{new, Client, RemoteSerialPort, SerialPortBuilder, Transport};
}
#[cfg(feature = "camera")]
pub mod camera;
#[cfg(feature = "camera-macos")]
pub mod camera_macos;
#[cfg(feature = "vtenc")]
pub mod vtenc;
#[cfg(all(feature = "camera", feature = "iroh"))]
pub mod camera_server;
#[cfg(any(feature = "camera-remote", all(feature = "camera", feature = "iroh")))]
pub mod opencv;
#[cfg(any(feature = "camera-remote", all(feature = "camera", feature = "iroh")))]
pub mod camera_client;
#[cfg(feature = "nvenc")]
pub mod nvenc_av1;
#[cfg(feature = "realsense")]
pub mod realsense;
#[cfg(feature = "dav1d")]
pub mod dav1d_decoder;
#[cfg(feature = "nvenc")]
pub mod nvdec_av1_decoder;
#[cfg(feature = "videotoolbox")]
pub mod vtdec_av1_decoder;
#[cfg(any(feature = "nvenc", feature = "videotoolbox", feature = "dav1d"))]
pub mod av1_decoder;
#[cfg(all(
feature = "realsense-remote",
any(feature = "nvenc", feature = "videotoolbox", feature = "dav1d")
))]
pub mod realsense_client;
#[cfg(feature = "audio")]
pub mod audio;
#[cfg(feature = "audio-macos")]
pub mod audio_macos;
#[cfg(all(feature = "audio", feature = "iroh"))]
pub mod audio_server;
#[cfg(feature = "audio-remote")]
pub mod sounddevice_impl;
#[cfg(feature = "audio-remote")]
pub mod audio_client;
#[cfg(feature = "audio-remote")]
pub mod sounddevice {
pub use crate::sounddevice_impl::{new, AudioStreamBuilder, RemoteAudioStream, Transport};
}
#[cfg(feature = "chat")]
pub mod chat;
pub mod arm_dynamics;
pub mod can_types;
#[cfg(feature = "can")]
pub mod can;
#[cfg(all(feature = "can", feature = "iroh"))]
pub mod can_server;
#[cfg(feature = "can-remote")]
pub mod socketcan_impl;
#[cfg(feature = "can-remote")]
pub mod socketcan {
pub use crate::socketcan_impl::{
new, AnyCanFrame, CanBusSocket, CanClient, CanFdFlags, CanFdFrame, CanFrame,
CanInterfaceInfo, CanSocketBuilder, RemoteCanSocket, Transport,
};
}
pub use moq::{
MoqBuilder, MoqConnection, MoqPublisher, MoqStream, MoqSubscriber, MoqTrackReader,
MoqTrackWriter,
};
#[cfg(feature = "iroh")]
pub use bridge_server::{BridgeServer, MoqConfig};
#[cfg(feature = "iroh")]
pub use iroh::{
IrohClientBuilder, IrohConnection, IrohServer, IrohServerBuilder, IrohStream, CAMERA_ALPN,
CAMERA_ALPN_AV1, CAMERA_ALPN_H264, CAMERA_ALPN_HEVC, CAMERA_ALPN_JPEG, DEFAULT_ALPN,
};
#[cfg(all(feature = "audio", feature = "iroh"))]
pub use audio_server::AUDIO_ALPN;
#[cfg(feature = "serial")]
pub use serial::{
baud, list_ports, DataBits, Parity, PortType, SerialConfig, SerialPort, SerialPortInfo,
SerialReader, SerialWriter, StopBits,
};
#[cfg(all(feature = "serial", feature = "iroh"))]
pub use serial_server::Server;
#[cfg(any(feature = "serial-remote", all(feature = "serial", feature = "iroh")))]
pub use serialport::{Client, RemoteSerialPort};
#[cfg(any(feature = "serial-remote", all(feature = "serial", feature = "iroh")))]
pub use serial_client::SyncSerialClient;
#[cfg(feature = "image")]
pub use frame::Frame;
#[cfg(feature = "camera")]
pub use camera::{list_cameras, Camera, CameraInfo};
#[cfg(feature = "camera-macos")]
pub use camera_macos::{
list_cameras as list_cameras_macos, Camera as CameraMacos, CameraInfo as CameraInfoMacos,
};
#[cfg(all(feature = "camera", not(feature = "image")))]
pub use camera::Frame;
#[cfg(all(feature = "camera", feature = "iroh"))]
pub use camera_server::{CameraServer, CameraServerBuilder};
#[cfg(any(feature = "camera-remote", all(feature = "camera", feature = "iroh")))]
pub use opencv::{remote_camera, CameraClient, CameraClientBuilder};
#[cfg(feature = "videotoolbox")]
pub use opencv::VtDecoder;
#[cfg(any(feature = "camera-remote", all(feature = "camera", feature = "iroh")))]
pub use camera_client::SyncCameraClient;
pub use can_types::{
wire as can_wire, AnyCanFrame, CanBusSocket, CanFdFlags, CanFdFrame, CanFrame, CanInterfaceInfo,
};
#[cfg(feature = "can")]
pub use can::{list_interfaces, CanConfig, CanReader, CanSocket, CanWriter};
#[cfg(all(feature = "can", feature = "iroh"))]
pub use can_server::CanServer;
#[cfg(feature = "can-remote")]
pub use socketcan::{CanClient, RemoteCanSocket};
#[cfg(feature = "audio")]
pub use audio::{
AudioConfig, AudioDevice, AudioDeviceInfo, AudioFrame, AudioInput, AudioOutput, SampleFormat,
};
#[cfg(feature = "audio-macos")]
pub use audio_macos::AudioVoiceIO;
#[cfg(all(feature = "audio", feature = "iroh"))]
pub use audio_server::{AudioServer, AudioServerBuilder};
#[cfg(feature = "audio-remote")]
pub use audio_client::SyncAudioClient;
#[cfg(feature = "audio-remote")]
pub use sounddevice::{AudioStreamBuilder, RemoteAudioStream};
#[cfg(all(
feature = "realsense-remote",
any(feature = "nvenc", feature = "videotoolbox", feature = "dav1d")
))]
pub use realsense_client::{RealSenseClient, SyncRealSenseClient};
#[cfg(feature = "chat")]
pub use chat::{ChatClient, ChatMessage};
pub use moq_token;