Commit Graph
5792 Commits
Author SHA1 Message Date
Antonio Scandurra ca618b02b6 Render surfaces correctly when encoded in 420YpCbCr8BiPlanarFullRange 2022-09-13 14:10:13 +02:00
Antonio Scandurra 4e0380c9fb Debounce frame assignment using a watch 2022-09-13 14:10:13 +02:00
Antonio Scandurra d407f521db WIP: render screen-sharing frames 2022-09-13 14:10:13 +02:00
Antonio Scandurra 645338cff8 Register to publishing of remote tracks 2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 37ca5651ee Parameterize LiveKit URL
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 376e674748 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 b154c3c9ee Expose Swift errors as anyhow::Result in live_kit 2022-09-13 14:10:13 +02:00
Antonio Scandurra df3ab13441 Publish screen-sharing video track on the newly-created Room 2022-09-13 14:10:13 +02:00
Nathan Sobo 7bf64ec23e 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 5347c7d678 Connect to LiveKit room in capture example 2022-09-13 14:10:13 +02:00
Nathan SoboandAntonio Scandurra 45d83b557b Remove LiveKitObjC experiment
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-09-13 14:10:13 +02:00
Nathan SoboandAntonio Scandurra 3c2566fc11 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 4bcc008cbf WIP: Start on live_kit crate that uses a C-based bridge 2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo 52f32b50b2 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 5fec784580 Link Swift stdlib 2022-09-13 14:10:13 +02:00
Antonio Scandurra 46abb1cbf6 WIP 2022-09-13 14:10:13 +02:00
Antonio Scandurra 6c28b21728 WIP: Start binding LiveKit 2022-09-13 14:10:13 +02:00
Nathan Sobo b51abc5a63 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 047b5114f1 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 600029a918 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 7054fa61f2 Start compressing captured frames as H264 2022-09-13 14:10:13 +02:00
Antonio Scandurra f621d290fe Move core_media into media crate 2022-09-13 14:10:13 +02:00
Antonio Scandurra a02e388ea2 Honor scale factor when rendering 2022-09-13 14:10:13 +02:00
Antonio Scandurra 3f66dd678a 🔥 2022-09-13 14:10:13 +02:00
Antonio Scandurra fcf6aa15eb Return results for fallible media APIs 2022-09-13 14:10:13 +02:00
Antonio Scandurra 79a7a0e0e7 Capture screen in BGRA8 and render it in capture example app 2022-09-13 14:10:13 +02:00
Nathan Sobo 37da841716 Start on using CVMetalTextureCache 2022-09-13 14:10:13 +02:00
Nathan Sobo 531ffc01c9 Pass CVImageBuffers into GPUI instead of IOSurfaces 2022-09-13 14:10:13 +02:00
Nathan Sobo 0430bbf7d9 WIP: Start on Renderer::render_surfaces but really it's nothing 2022-09-13 14:10:13 +02:00
Nathan Sobo db88ee2f4c Handle captured frames in the background 2022-09-13 14:10:13 +02:00
Antonio Scandurra 71d9a880d6 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 d30e360664 Retrieve IOSurface in Rust callback as opposed to doing so in delegate 2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo c4110edb78 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 e12eaf8c58 Start on Scene::push_surface
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio ScandurraandNathan Sobo d473b52f5a Remove src/dummy.m
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra 1611635e5f Capture display frames and access underlying IOSurface 2022-09-13 14:10:13 +02:00
Antonio Scandurra 014246f569 Provide all running applications to SCContentFilter to capture display 2022-09-13 14:10:13 +02:00
Antonio Scandurra ef8a0dc175 Fix bindgen warnings 2022-09-13 14:10:13 +02:00
Nathan Sobo 82ec2dc7ca Try to use the dummy capture handler, still not working 2022-09-13 14:10:13 +02:00
Nathan Sobo 99cb66dfb0 Programmatically locate the system SDK path for bindgen 2022-09-13 14:10:13 +02:00
Nathan Sobo 4440c9b18e Bind to capture's macOS C frameworks with bindgen 2022-09-13 14:10:13 +02:00
Antonio Scandurra 30a3c0fb46 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo 0df97dce02 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo 497232ee59 Get capture starting without error 2022-09-13 14:10:13 +02:00
Nathan Sobo d91f26d016 Make SCStreamOutput protocol accessible in Rust 2022-09-13 14:10:13 +02:00
Antonio Scandurra 45519cdd27 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo 7918bf39f5 Make capture example its own crate 2022-09-13 14:10:13 +02:00
Nathan Sobo ad0f75f386 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
K Simmons 0fca4d02ec Merge pull request #1621 from zed-industries/editor-context-menu-fix
Make MouseRegion Click handlers, also handle Down events by default.
2022-09-11 15:22:24 -07:00
K Simmons 28965dc5b6 Make MouseRegion Click handlers, also handle Down events by default. 2022-09-11 14:19:35 -07:00