Skip to content

Initial downstream tracks + VideoRenderer example#7

Merged
theomonnom merged 8 commits intomainfrom
theo/tracks
Dec 2, 2022
Merged

Initial downstream tracks + VideoRenderer example#7
theomonnom merged 8 commits intomainfrom
theo/tracks

Conversation

@theomonnom
Copy link
Copy Markdown
Member

@theomonnom theomonnom commented Nov 22, 2022

Successfully received VideoFrame
Next step: Rendering

Lot of comments will be added on the next PR ( To improve code understanding )

@theomonnom theomonnom marked this pull request as draft November 22, 2022 17:02
@theomonnom theomonnom requested a review from davidzhao November 28, 2022 16:30
@theomonnom theomonnom marked this pull request as ready for review November 28, 2022 16:30
@theomonnom theomonnom changed the title Initial downstream tracks Initial downstream tracks + VideoRenderer example Dec 2, 2022
@theomonnom theomonnom merged commit 57adc07 into main Dec 2, 2022
@theomonnom theomonnom deleted the theo/tracks branch December 2, 2022 15:49
@theomonnom theomonnom restored the theo/tracks branch December 2, 2022 15:56
@theomonnom theomonnom deleted the theo/tracks branch December 2, 2022 15:57
Be-ing added a commit to Be-ing/rust-sdks that referenced this pull request Nov 24, 2025
* screensharing example: remove rustls-native feature from livekit

This was breaking the Android builds.

* improve error handling for File::open

* webrtc-sys-build: skip parsing desktop_capture.ninja on Android

* webrtc-sys-build: bump prebuilt library to webrtc-0001d84-2
cloudwebrtc pushed a commit that referenced this pull request Dec 1, 2025
* feat: expose DesktopCapturer

Implements screen sharing by exposing libwebrtc's
DesktopCapturer.

A few platform specific notes:
  - macos:
    * It is using screen capture kit and the system picker by
      default. If the system picker is disabled then get_sources
      returns an empty list when trying to capture a display. The
      display native id needs to be acquired using different means
      from the client.
  - linux:
    * With pipewire the only way to select window or display is via
      the system picker.

* use pkg-config to find Linux libraries (#2)

* Support x11 dependencies

* Modify example to work on x11

* Address comments

* Properly guard sck options

* Address review comments

In particular:
   - Adds support for the generic capturer.
   - Exposes the desktop_capturer module only on macos, linux and
     windows.
   - Updates the example

* Update license

* Set callback on start

* Make the callback FnMut

* cpp formatting

* Allow disabling system picker in example

* Address review comments

* Remove reference to temporary

* Run screen-sharing example only on supported platforms

* cargo fmt

* Update build runner with DesktopCapturer deps on linux

* Update runner

* Update tests runner

* fix Android build (#7)

* screensharing example: remove rustls-native feature from livekit

This was breaking the Android builds.

* improve error handling for File::open

* webrtc-sys-build: skip parsing desktop_capture.ninja on Android

* webrtc-sys-build: bump prebuilt library to webrtc-0001d84-2

* Enable TLS features for the screenshare example

---------

Co-authored-by: Be <be.0@gmx.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant