silence_core/
lib.rs

1#![warn(
2    missing_debug_implementations,
3    missing_docs,
4    rust_2018_idioms,
5    unreachable_pub
6)]
7
8//!
9//! A crate to make voip services easier to create.
10//! Silence-core provides core functions, helpers and type definitions for a voip service to work.
11//! If you just want a quick and easy way to set up a voip service, you should use [silence](https://crates.io/crates/silence) instead as it provides a more complete (end-user friendly) approach.
12//! 
13//! This crate provides 2 main functionalities:
14//! * Type definitions:
15//! This crate provides Type definitions and traits in order to make the handling of packets easier.
16//! 
17//! * APIs for performing audio I/O:
18//! The crate provides multiple ways to handle audio I/O on multiple platforms efficiently.
19//! 
20//! * APIs for receiving image input:
21//! The crate provides ways to utilize the user's webcam to send images.
22//! 
23//! * APIs for encoding in certain codecs:
24//! The crate provides ways to encode the raw auudio samples with [opus](https://opus-codec.org/). It also provides ways to encode raw images with the [AV1](https://en.wikipedia.org/wiki/AV1) codec.
25//! 
26//! A complete version of the documentation is available at [here](https://docs.rs/silence-core/latest).
27//!
28
29#[cfg(feature = "io")]
30pub mod io;
31
32#[doc(hidden)]
33#[cfg(test)]
34mod tests;
35
36#[cfg(feature = "opus")]
37pub mod opus;
38
39#[cfg(feature = "opencv")]
40pub mod cam;
41
42#[cfg(feature = "av1")]
43pub mod avif;