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.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | 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) | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |