Commit Graph
5794 Commits
Author SHA1 Message Date
Antonio ScandurraandNathan Sobo 83e96e5ee3 WIP: Start on App::add_status_bar_item
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo ae66bf4749 Add the ability to hide the titlebar when creating windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra 99dc2f3444 Render surfaces correctly when encoded in 420YpCbCr8BiPlanarFullRange 2022-09-13 14:10:13 +02:00
Antonio Scandurra 939a550048 Debounce frame assignment using a watch 2022-09-13 14:10:13 +02:00
Antonio Scandurra 62484540da WIP: render screen-sharing frames 2022-09-13 14:10:13 +02:00
Antonio Scandurra 2698a5caeb Register to publishing of remote tracks 2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 0ccfe625b4 Parameterize LiveKit URL
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 30ff590a13 Avoid double boxing of oneshot when calling LKRoomPublishVideoTrack
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra 427c9aea7c Expose Swift errors as anyhow::Result in live_kit 2022-09-13 14:10:13 +02:00
Antonio Scandurra 5f3e39f043 Publish screen-sharing video track on the newly-created Room 2022-09-13 14:10:13 +02:00
Nathan Sobo d0bd792a35 Add ability to get a screen share track for a window
And also list windows
2022-09-13 14:10:13 +02:00
Nathan Sobo 9e96363abf Connect to LiveKit room in capture example 2022-09-13 14:10:13 +02:00
Nathan SoboandAntonio Scandurra d35e13073c Remove LiveKitObjC experiment
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-09-13 14:10:13 +02:00
Nathan SoboandAntonio Scandurra ad1211e611 Copy WebRTC.framework when building livekit crate
We determine the location of the target executable directory in a somewhat hacky way, but it seems reasonably stable.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-09-13 14:10:13 +02:00
Nathan Sobo a606f486f1 WIP: Start on live_kit crate that uses a C-based bridge 2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 3476d16d87 WIP: Talk to Swift via C without involving Objective-C
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra c25188bd20 Link Swift stdlib 2022-09-13 14:10:13 +02:00
Antonio Scandurra e789be252a WIP 2022-09-13 14:10:13 +02:00
Antonio Scandurra a93ec7f595 WIP: Start binding LiveKit 2022-09-13 14:10:13 +02:00
Nathan Sobo 70450c86dc Read the frame data out of the CMSampleBuffer
Still not sending it anywhere, but think I'm reading it correctly.
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo a2aec16251 Start on a new, more abstract CompressionSession primitive
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo e2d7ef6997 WIP: Start converting H264 samples to Annex-B NALs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra a7e27eb763 Start compressing captured frames as H264 2022-09-13 14:10:13 +02:00
Antonio Scandurra cd7ccca114 Move core_media into media crate 2022-09-13 14:10:13 +02:00
Antonio Scandurra 5010b8bf6e Honor scale factor when rendering 2022-09-13 14:10:13 +02:00
Antonio Scandurra 03b5f30eb6 🔥 2022-09-13 14:10:13 +02:00
Antonio Scandurra 6d6c5efc96 Return results for fallible media APIs 2022-09-13 14:10:13 +02:00
Antonio Scandurra 0e67c8e28e Capture screen in BGRA8 and render it in capture example app 2022-09-13 14:10:13 +02:00
Nathan Sobo ba47bf20bd Start on using CVMetalTextureCache 2022-09-13 14:10:13 +02:00
Nathan Sobo fbc89c7546 Pass CVImageBuffers into GPUI instead of IOSurfaces 2022-09-13 14:10:13 +02:00
Nathan Sobo 5c220b012d WIP: Start on Renderer::render_surfaces but really it's nothing 2022-09-13 14:10:13 +02:00
Nathan Sobo 378a780968 Handle captured frames in the background 2022-09-13 14:10:13 +02:00
Antonio Scandurra 71e128de50 WIP: Start pushing native surface to Scene
This is segfaulting for some reason, so that's the next step to figure out.
2022-09-13 14:10:13 +02:00
Antonio Scandurra 1a7622e2e4 Retrieve IOSurface in Rust callback as opposed to doing so in delegate 2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo b5fdd577c0 Extract io_surface crate and invoke custom callback on frame sample
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 3ebf6e7906 Start on Scene::push_surface
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 6d148907b8 Remove src/dummy.m
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra 2b034b2417 Capture display frames and access underlying IOSurface 2022-09-13 14:10:13 +02:00
Antonio Scandurra 585b8078a8 Provide all running applications to SCContentFilter to capture display 2022-09-13 14:10:13 +02:00
Antonio Scandurra 08e5fc1a92 Fix bindgen warnings 2022-09-13 14:10:13 +02:00
Nathan Sobo a155e3aa3b Try to use the dummy capture handler, still not working 2022-09-13 14:10:13 +02:00
Nathan Sobo c599882cfc Programmatically locate the system SDK path for bindgen 2022-09-13 14:10:13 +02:00
Nathan Sobo eb79ad74c1 Bind to capture's macOS C frameworks with bindgen 2022-09-13 14:10:13 +02:00
Antonio Scandurra 5c60229a11 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo f9c57cd85b WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo 914dcf17cb Get capture starting without error 2022-09-13 14:10:13 +02:00
Nathan Sobo fff6941e64 Make SCStreamOutput protocol accessible in Rust 2022-09-13 14:10:13 +02:00
Antonio Scandurra 92db42c1e5 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo a2c7f5366f Make capture example its own crate 2022-09-13 14:10:13 +02:00
Nathan Sobo 99411b8c25 Add capture example to GPUI
Added a linker arg to the GPUI build script. Not sure if we'll want to bake
this into GPUI or do it via another crate, but this is convenient for
exploration for now.
2022-09-13 14:10:13 +02:00