问题描述
我一直在尝试使用VTCompressionSessionEncodeFrame
对某些CMSampleBuffers进行编码,但是当我尝试使用它时,总是会遇到此错误:Expression type 'OSStatus' (aka 'Int32') is ambiguous without more context
我试图找出它是什么,但没有成功,这是我正在使用的代码:
var compressed = VTCompressionSessionEncodeFrame(session: vtCompressionSession,imageBuffer: imageBuff!,presentationTimeStamp: nil,duration: CMTime.invalid,frameProperties: nil,infoFlagsOut: infoFlags)
我也没有在代码中其他任何地方引用压缩的变量。
感谢所有帮助。
解决方法
我知道了!我改变了
var compressed = VTCompressionSessionEncodeFrame(session: vtCompressionSession,imageBuffer: imageBuff!,presentationTimeStamp: nil,duration: CMTime.invalid,frameProperties: nil,infoFlagsOut: infoFlags)
到
var output: VRCompressionOutputHandler? = nil
VTCompressionSessionEncodeFrame(session: vtCompressionSession,infoFlagsOut: infoFlags,outputHandler: output)