WIP: Try using the new ScreenCaptureKit API when possible

This commit is contained in:
Antonio Scandurra 2022-10-20 19:28:21 +02:00
parent be1dc01d9e
commit 9b8e6cce02

View file

@ -123,7 +123,7 @@ public func LKRoomVideoTracksForRemoteParticipant(room: UnsafeRawPointer, partic
@_cdecl("LKCreateScreenShareTrackForDisplay")
public func LKCreateScreenShareTrackForDisplay(display: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
let display = Unmanaged<MacOSDisplay>.fromOpaque(display).takeUnretainedValue()
let track = LocalVideoTrack.createMacOSScreenShareTrack(source: display, preferredMethod: .legacy)
let track = LocalVideoTrack.createMacOSScreenShareTrack(source: display)
return Unmanaged.passRetained(track).toOpaque()
}
@ -148,7 +148,7 @@ public func LKRemoteVideoTrackGetSid(track: UnsafeRawPointer) -> CFString {
@_cdecl("LKDisplaySources")
public func LKDisplaySources(data: UnsafeRawPointer, callback: @escaping @convention(c) (UnsafeRawPointer, CFArray?, CFString?) -> Void) {
MacOSScreenCapturer.sources(for: .display, includeCurrentApplication: false, preferredMethod: .legacy).then { displaySources in
MacOSScreenCapturer.displaySources().then { displaySources in
callback(data, displaySources as CFArray, nil)
}.catch { error in
callback(data, nil, error.localizedDescription as CFString)