AmazonChimeSDK/AmazonChimeSDKTests/tools/VideoFrameGenerator.swift (18 lines of code) (raw):
//
// VideoFrameGenerator.swift
// AmazonChimeSDK
//
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
//
import UIKit
import AmazonChimeSDK
class VideoFrameGenerator {
/// Generates a `VideoFrame` for the test image.
func generateVideoFrame(image: UIImage) -> VideoFrame? {
guard let testCGImage = image.cgImage else {
return nil
}
let height = testCGImage.height
let width = testCGImage.width
var cvPixelBuffer: CVPixelBuffer?
CVPixelBufferCreate(kCFAllocatorDefault, width, height, kCVPixelFormatType_32ARGB, nil, &cvPixelBuffer)
let context = CIContext(options: [.cacheIntermediates: false])
context.render(CIImage(cgImage: testCGImage), to: cvPixelBuffer!)
let buffer = VideoFramePixelBuffer(pixelBuffer: cvPixelBuffer!)
let frame = VideoFrame(timestampNs: 0, rotation: .rotation0, buffer: buffer)
return frame
}
}