Commit Graph

15 Commits

Author SHA1 Message Date
Théo Monnom 1c12e749f2 feat: add publishing & audio to ffi (#46)
- Divide FFI protocol into multiple files
- Audio support
- AV Streams/Sources
- Create tracks
- Use Dashmap to store handles
- Add a capture test
     - Ignored by GHA atm
2023-05-08 23:12:37 +02:00
Théo Monnom a5caf12902 correctly close rtc_session (#56) 2023-04-24 20:08:27 +02:00
Théo Monnom 180864e953 feat: server sdk (#47)
* New webrtc build scripts (Still not integrated within the SDK)
* New livekit-api crate (Integrate the server sdk protocol of livekit)
* Moved livekit-utils to livekit-protocol
2023-04-19 12:33:39 +02:00
Théo Monnom 64c0705916 feat: audio support (#45)
- Receive/Send audio frames
- LocalAudioTrack
2023-03-19 21:58:20 +01:00
Théo Monnom cad6d36201 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
2023-03-18 03:25:16 +01:00
Théo Monnom 16ea02075f RtpTransceiver bindings & requirements for publishing tracks (#39)
- RtpSender
- RtpReceiver
- RtpTransceiver
- RtpParameters
- VideoFrameBuilder
- Interior mutability on c++ side
- Cleanup bindings ( Use #pragma once instead of include guards )
     - webrtc-sys/src/* headers are now used in only one place 
     - Avoid confusion between generated headers and our headers
- AdaptedVideoTrackSource
- Cleanup the workaround with unsupported Vec<Shared<T>>
    - Put everything inside one file
2023-02-12 19:44:04 +01:00
Théo Monnom e023b34fd1 finish proto of livekit-ffi (#36)
* ffi req

* handle req_id

* remaining room events

* fix

* Update ffi.proto

* use sid instead of info

* state -> stream_state

* "s"

* participant is optional on data received

* add ReleaseHandleRequest

* Update ffi.proto

* add DataPacketKind

* VideoSinkInfo

* append info

It looks nicer on the FFI languages

* wip

* keep it simple

* Update ffi.proto

* update server to latest proto

* to_i420

* i420_to_abgr

* to_argb

* add publications to ParticipantInfo

It'll be used when we join a Room

* cleanup + DisposeRequest

* fix compilation

* send the whole buffer info with to_i420
2023-02-06 00:57:43 +01:00
Théo Monnom 1610f86316 feat: basic ffi server to support other languages (#34)
* wip

* wip

* wip

* wip

not a fan of the way I do handles ..

* errors and async semantic

* fix example
2023-01-25 00:09:19 +01:00
Théo Monnom b96858bdba add gh repo to Cargo.toml (#33) 2023-01-12 15:16:04 +01:00
Théo Monnom 8841af6ee6 v0.1.1 (#32) 2023-01-12 14:48:03 +01:00
Théo Monnom 608681d0e2 use dispatcher for room events (#30) 2023-01-11 01:08:26 +01:00
Théo Monnom 4c5828b9c0 added prelude & cleaned imports (#27)
* wip

* wip

* wip

* wip

* wip

* wip
2023-01-10 22:57:27 +01:00
Théo Monnom 5309c622cb fix deadlock when closing (#25) 2023-01-05 01:05:29 +01:00
Théo Monnom 27475af410 fix participant updates (#23) 2023-01-04 20:14:09 +01:00
Théo Monnom a07b3451a3 publish client-sdk-native (#12)
* Create README.md

* add example

* crates & examples

* fix syntax

* add LICENSE

* thirdparty LICENSE

* rearrange repo

* fix build

* egui versions

* prepare publish

* fix demo compilation

* add test ci

* Update rust.yml

* forgot runs-on

* install protoc before building

* avoid rate limit

* include submodules

* updates to readme

* cache rust builds

Co-authored-by: David Zhao <dz@livekit.io>
Co-authored-by: David Zhao <david@davidzhao.com>
2023-01-02 20:13:48 +01:00