25 Commits

Author SHA1 Message Date
Théo Monnom 7010934c6d v0.1.2 (#104) 2023-06-30 22:10:55 +02:00
Théo Monnom 046ae8c22b fix: unsubscribe deadlock (#101) 2023-06-30 11:08:05 +02:00
Théo Monnom c7c82cc693 use callbacks on internal events (#100) 2023-06-29 22:52:43 +02:00
Théo Monnom efc334af8e feat: move signal_client to livekit-api (#98) 2023-06-26 22:59:55 +02:00
Théo Monnom 25f4c9a075 feat: add ffi datachannel & mute events (#88) 2023-06-18 22:45:05 +02:00
Théo Monnom 9c2ba04f71 feat: tls features (#86)
* feat: tls features

* Update builds.yml
2023-06-09 23:03:35 +02:00
Théo Monnom 55bda13069 cleanup: webrtc-sys & fix RtcRuntime disposing crashes (#81) 2023-06-04 01:02:00 +02:00
Théo Monnom 05ad1c95af cleanup: room & dependencies (#76) 2023-05-25 20:13:34 +02:00
Théo Monnom a9e6865137 fix: linux ssl connections crashes (#79) 2023-05-25 19:57:48 +02:00
Théo Monnom 3f61e07e09 feat: forward libwebrtc logs (#75) 2023-05-24 18:37:35 +02:00
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