Commit Graph

137 Commits

Author SHA1 Message Date
Théo Monnom 1beee0e1f7 feat: update simple_room wgpu (#61) 2023-05-09 14:29:29 +02:00
Théo Monnom eb43e02bd1 add env_logger (#60) 2023-05-09 13:01:01 +02:00
Théo Monnom 134466641b fix: cbindgen extern fnc (#58) 2023-05-09 03:46:28 +02:00
Théo Monnom 8dd7979d04 feat: add cbindgen to livekit-ffi (#57) 2023-05-08 23:33:02 +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 8f294dde41 fix: windows crashes & builds (#55)
- Doing jobs in parallels in GHA (Divide build time by 3).
- Now use custom webrtc builds for this repo
- Windows crashes when receiving video is now fixed (thanks @cloudwebrtc)
    - Now reading defines from webrtc.ninja
- Added a small create_pc test to be sure libwebrtc is working/linked correctly 
- Fix MacOS builds 
- Fixed Linux duplicated main build error (due to nasm)
2023-04-24 18:27:30 +02:00
Théo Monnom 4f8229c724 feat: use new webrtc builds & linux support (#54) 2023-04-20 13:14:34 +02:00
Jonas Schell ee83cb8d31 [🤖 readme-manager] Update README (#53)
* update readme

* update readme
2023-04-20 10:38:54 +02:00
Théo Monnom 72bbc8cd90 Disable livekit-api on win-aarch64 & WebRTC Builds CI (#51)
* update CI

* fix path

* fix attempt

* fix attempt 2

* fix attempt 3

* fix attempt 3
2023-04-19 15:34:04 +02:00
Théo Monnom 9000d82757 update examples deps 2023-04-19 12:35:15 +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
Jonas Schell 459a42bf12 update readme (#49) 2023-04-13 23:52:24 -07:00
Jonas Schell adc88d080b readme manager initial setup (#48)
This PR makes the README ready to be managed by the readme manager. It adds custom comment tags to the readme, which are invisible when the README is rendered, but tell the readme manager where to insert and update content.
2023-04-13 10:44:29 +02:00
Théo Monnom 8a5c16c6ef Update README.md 2023-03-19 21:59:58 +01: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 4443eae434 Use reqwest instead of curl to download libwebrtc (#44)
* use reqwest instead of curl to download libwebrtc

curl crate fails 2/3 computers I use when not configured. Make everything simpler for users

* Update Cargo.lock
2023-03-16 02:30:12 +01:00
Théo Monnom 609427159b license headers (#40) 2023-02-12 20:19:01 +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 4411f88b68 added useful note about webrtc-sys (#38)
* Create README.md

* Update README.md

* Update README.md

* Update README.md
2023-02-07 00:05:07 +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 84d2f234f5 Update README.md 2023-01-18 21:30:57 +01:00
Russ d'Sa 81146f8bac Update README.md
Add question about webrtc.rs
2023-01-16 18:58:51 -08:00
Théo Monnom 88e6848456 Update tests.yml 2023-01-13 00:56:22 +01:00
Théo Monnom 08b0756fee add datachannels to readme 2023-01-13 00:39:04 +01:00
Théo Monnom 22c6f67226 ci: only run tests on supported platforms by gh 2023-01-13 00:37:30 +01:00
Théo Monnom c267c82a58 fix aarch64-pc-windows-msvc 2023-01-12 23:54:21 +01:00
Théo Monnom 71d29bd64e ci: add aarch64 targets 2023-01-12 23:44:48 +01:00
Théo Monnom 986b97a413 Update build.rs (#31) 2023-01-12 22:38:46 +01:00
Théo Monnom b96858bdba add gh repo to Cargo.toml (#33) 2023-01-12 15:16:04 +01:00
Théo Monnom 35454335ec --allow-dirty for README 2023-01-12 15:12:20 +01:00
Théo Monnom 452f74f7fb fix publish
wrong character..
2023-01-12 14:59:00 +01:00
Théo Monnom 0c90089b56 fix publish workflow 2023-01-12 14:52:26 +01:00
Théo Monnom 8841af6ee6 v0.1.1 (#32) 2023-01-12 14:48:03 +01:00
Russ d'Sa c964e54523 Update README.md
Add missing periods to the ends of sentences.
2023-01-10 16:37:58 -08:00
Russ d'Sa 6d5914b3f6 Update README.md (#28)
* Update README.md

* adding FAQ section at bottom of README

* add prelude to the example

* adding and rewording a couple bullets in FAQ

Co-authored-by: Théo Monnom <theo.monnom@outlook.com>
2023-01-10 16:35:48 -08:00
Russ d'Sa 882d83aaec add simple room demo gif and embed in top-level readme (#29) 2023-01-10 16:12:24 -08: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 1168e5ae89 correctly cleanup RTCRuntime (#26) 2023-01-08 03:39:52 +01:00
Théo Monnom 35816180d9 Merge branch 'main' of https://github.com/livekit/client-sdk-native 2023-01-07 18:51:32 +01:00
Théo Monnom 8ae8110293 update readme for hw acceleration 2023-01-07 18:51:21 +01:00
Théo Monnom d4233867eb VideoToolBox decoder/encoder for MacOS & iOS (#19)
* VideoDecoderFactory wrapper

* wip

* fix compilation

* add notes

* upgrade webrtc version
2023-01-07 18:30:11 +01:00
Théo Monnom 579782a813 improve the demo (#24)
- Add participant names
- Listen to TrackUnsubscribed
- Show info about the room
- Disconnect btn
- Correctly close the task
2023-01-05 01:08:23 +01:00
Théo Monnom 5309c622cb fix deadlock when closing (#25) 2023-01-05 01:05:29 +01:00
Théo Monnom 98273d1b0d add blue background when no frame has been received 2023-01-04 22:17:59 +01:00
Théo Monnom 27475af410 fix participant updates (#23) 2023-01-04 20:14:09 +01:00
Théo Monnom 9656c73027 allow custom webrtc builds (#21) 2023-01-03 22:26:00 +01:00