Merge pull request #18 from livekit/dz-readme-tweaks-v2
A few more tweaks to the readme
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
# LiveKit: Native SDK
|
||||
|
||||
[](https://crates.io/crates/livekit)
|
||||
[](https://github.com/livekit/client-sdk-native/actions/workflows/rust.yml)
|
||||
> **Warning**
|
||||
> This SDK is a developer preview and is not ready for production use. There will be bugs and the APIs may change during this period.
|
||||
> All feedbacks/contributions are appreciated. You can create issues or discuss with us on the #rust-developer-preview channel in our [Slack](https://livekit.io/join-slack)
|
||||
|
||||
:: **Warning** ::
|
||||
|
||||
> This SDK is currently in developer preview and is not ready for production use. There will be bugs and the APIs may change during this period.
|
||||
>
|
||||
> All feedback and contributions are appreciated. You can create issues or discuss with us on the #rust-developer-preview channel in our [Slack](https://livekit.io/join-slack)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -21,24 +25,24 @@
|
||||
|
||||
- `livekit-core`: LiveKit protocol implementation
|
||||
- `livekit-utils`: Shared utilities between our crates
|
||||
- `livekit-ffi`: Use `livekit-core` on foreign languages
|
||||
- `livekit-ffi`: Bindings for other languages. use `livekit-core`.
|
||||
- `livekit-webrtc`: Safe Rust bindings to libwebrtc
|
||||
- `webrtc-sys`: Unsafe bindings to libwebrtc
|
||||
|
||||
## Motivation and Design Goals
|
||||
|
||||
At LiveKit, we've developed a number of client SDKs for different platforms. This
|
||||
is necessary to our goal of providing an end-to-end WebRTC stack for every platform. However,
|
||||
is necessary to our goal of providing an end-to-end WebRTC stack that works everywhere. However,
|
||||
we've encountered a few challenges during this process:
|
||||
|
||||
- there's significant of business/control logic with our signaling protocol and WebRTC. currently they are re-written for each platform that we support
|
||||
- interactions with media devices and encoding/decoding are platform and framework specific
|
||||
- doing both of the above for multi-platform frameworks (like Unity, Flutter, and React-Native) proved to be extremely painful
|
||||
- There's significant of business/control logic with our signaling protocol and WebRTC. Currently they are re-written for each platform that we support.
|
||||
- Interactions with media devices and encoding/decoding are platform and framework specific.
|
||||
- Doing both of the above for multi-platform frameworks (like Unity, Flutter, and React-Native) proved to be extremely painful.
|
||||
|
||||
We would like this SDK to:
|
||||
|
||||
- Encapsulate all of the business logic and platform-specific APIs into a clean
|
||||
- Standalone cross-platform, native SDK for Rust and C/C++
|
||||
- Encapsulate all of the business logic and platform-specific APIs into a clean set of abstractions
|
||||
- Be a standalone cross-platform, native SDK for Rust and C/C++
|
||||
- Serve as a common core for other platform-specific SDKs (i.e. Unity, iOS, Android)
|
||||
|
||||
## Getting started
|
||||
@@ -75,7 +79,7 @@ match event {
|
||||
rtc_track.on_frame(Box::new(move |frame, buffer| {
|
||||
// Just received a video frame!
|
||||
// The buffer is YuvEncoded, you can decode it to ABGR by using our yuv_helper
|
||||
// See the simple_room example for the conversion
|
||||
// See the simple_room example for the conversion
|
||||
});
|
||||
} else {
|
||||
// Audio Track..
|
||||
|
||||
Reference in New Issue
Block a user