fix an issue where current call implementation won't compile for simulators
This commit is contained in:
parent
75d922eb3a
commit
f48cdd02ee
|
@ -2,9 +2,17 @@
|
||||||
import WebRTC
|
import WebRTC
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
#if arch(arm64)
|
||||||
|
// Note: 'RTCMTLVideoView' requires arm64 (so won't work on the simulator which
|
||||||
|
// we need to build for x86_64 due to WebRTC not supporting arm64 simulator builds)
|
||||||
|
typealias TargetView = RTCMTLVideoView
|
||||||
|
#else
|
||||||
|
typealias TargetView = RTCEAGLVideoView
|
||||||
|
#endif
|
||||||
|
|
||||||
// MARK: RemoteVideoView
|
// MARK: RemoteVideoView
|
||||||
|
|
||||||
class RemoteVideoView: RTCMTLVideoView {
|
class RemoteVideoView: TargetView {
|
||||||
|
|
||||||
override func renderFrame(_ frame: RTCVideoFrame?) {
|
override func renderFrame(_ frame: RTCVideoFrame?) {
|
||||||
super.renderFrame(frame)
|
super.renderFrame(frame)
|
||||||
|
@ -39,7 +47,7 @@ class RemoteVideoView: RTCMTLVideoView {
|
||||||
// Assume we're already setup for the correct orientation.
|
// Assume we're already setup for the correct orientation.
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
#if arch(arm64)
|
||||||
if let rotationOverride = rotationOverride {
|
if let rotationOverride = rotationOverride {
|
||||||
self.rotationOverride = NSNumber(value: rotationOverride.rawValue)
|
self.rotationOverride = NSNumber(value: rotationOverride.rawValue)
|
||||||
if [ RTCVideoRotation._0, RTCVideoRotation._180 ].contains(rotationOverride) {
|
if [ RTCVideoRotation._0, RTCVideoRotation._180 ].contains(rotationOverride) {
|
||||||
|
@ -59,13 +67,14 @@ class RemoteVideoView: RTCMTLVideoView {
|
||||||
if frameRatio < 1.5 {
|
if frameRatio < 1.5 {
|
||||||
self.videoContentMode = .scaleAspectFit
|
self.videoContentMode = .scaleAspectFit
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: LocalVideoView
|
// MARK: LocalVideoView
|
||||||
|
|
||||||
class LocalVideoView: RTCMTLVideoView {
|
class LocalVideoView: TargetView {
|
||||||
|
|
||||||
static let width: CGFloat = 80
|
static let width: CGFloat = 80
|
||||||
static let height: CGFloat = 173
|
static let height: CGFloat = 173
|
||||||
|
@ -77,7 +86,9 @@ class LocalVideoView: RTCMTLVideoView {
|
||||||
// sometimes the rotationOverride is not working
|
// sometimes the rotationOverride is not working
|
||||||
// if it is only set once on initialization
|
// if it is only set once on initialization
|
||||||
self.rotationOverride = NSNumber(value: RTCVideoRotation._0.rawValue)
|
self.rotationOverride = NSNumber(value: RTCVideoRotation._0.rawValue)
|
||||||
|
#if arch(arm64)
|
||||||
self.videoContentMode = .scaleAspectFill
|
self.videoContentMode = .scaleAspectFill
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,9 @@ final class MiniCallView: UIView, RTCVideoViewDelegate {
|
||||||
private var top: NSLayoutConstraint?
|
private var top: NSLayoutConstraint?
|
||||||
private var bottom: NSLayoutConstraint?
|
private var bottom: NSLayoutConstraint?
|
||||||
|
|
||||||
|
#if arch(arm64)
|
||||||
|
// Note: 'RTCMTLVideoView' requires arm64 (so won't work on the simulator which
|
||||||
|
// we need to build for x86_64 due to WebRTC not supporting arm64 simulator builds)
|
||||||
private lazy var remoteVideoView: RTCMTLVideoView = {
|
private lazy var remoteVideoView: RTCMTLVideoView = {
|
||||||
let result = RTCMTLVideoView()
|
let result = RTCMTLVideoView()
|
||||||
result.delegate = self
|
result.delegate = self
|
||||||
|
@ -24,6 +27,15 @@ final class MiniCallView: UIView, RTCVideoViewDelegate {
|
||||||
result.backgroundColor = .black
|
result.backgroundColor = .black
|
||||||
return result
|
return result
|
||||||
}()
|
}()
|
||||||
|
#else
|
||||||
|
private lazy var remoteVideoView: RTCEAGLVideoView = {
|
||||||
|
let result = RTCEAGLVideoView()
|
||||||
|
result.delegate = self
|
||||||
|
result.alpha = self.callVC.call.isRemoteVideoEnabled ? 1 : 0
|
||||||
|
result.backgroundColor = .black
|
||||||
|
return result
|
||||||
|
}()
|
||||||
|
#endif
|
||||||
|
|
||||||
// MARK: Initialization
|
// MARK: Initialization
|
||||||
public static var current: MiniCallView?
|
public static var current: MiniCallView?
|
||||||
|
|
Loading…
Reference in New Issue