From fd0f2032c5c48c99caa723b02fadd101047432f8 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Mon, 2 Jan 2023 15:11:43 -0800 Subject: [PATCH] A few more tweaks to the readme --- README.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 96a02e1..6060bc8 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ # LiveKit: Native SDK + [![crates.io](https://img.shields.io/crates/v/livekit.svg)](https://crates.io/crates/livekit) [![Tests & Build](https://github.com/livekit/client-sdk-native/actions/workflows/rust.yml/badge.svg?branch=main)](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..