mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			23 lines
		
	
	
		
			1016 B
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			23 lines
		
	
	
		
			1016 B
		
	
	
	
		
			Swift
		
	
import WebRTC
 | 
						|
 | 
						|
extension CallVC : CameraManagerDelegate {
 | 
						|
    
 | 
						|
    func handleVideoOutputCaptured(sampleBuffer: CMSampleBuffer) {
 | 
						|
        guard let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
 | 
						|
        let rtcPixelBuffer = RTCCVPixelBuffer(pixelBuffer: pixelBuffer)
 | 
						|
        let timestamp = CMTimeGetSeconds(CMSampleBufferGetPresentationTimeStamp(sampleBuffer))
 | 
						|
        let timestampNs = Int64(timestamp * 1000000000)
 | 
						|
        let rotation: RTCVideoRotation = {
 | 
						|
            switch UIDevice.current.orientation {
 | 
						|
            case .landscapeRight: return RTCVideoRotation._90
 | 
						|
            case .portraitUpsideDown: return RTCVideoRotation._180
 | 
						|
            case .landscapeLeft: return RTCVideoRotation._270
 | 
						|
            default: return RTCVideoRotation._0
 | 
						|
            }
 | 
						|
        }()
 | 
						|
        let frame = RTCVideoFrame(buffer: rtcPixelBuffer, rotation: rotation, timeStampNs: timestampNs)
 | 
						|
        frame.timeStamp = Int32(timestamp)
 | 
						|
        call.webRTCSession.handleLocalFrameCaptured(frame)
 | 
						|
    }
 | 
						|
}
 |