gpt4 book ai didi

ios - Swift iOS AVSampleBufferDisplayLayer 设置视频层

转载 作者:搜寻专家 更新时间:2023-10-31 23:03:01 25 4
gpt4 key购买 nike

我正在尝试在基于 Swift 的项目中设置视频流查看器。

我查看了以下非常有帮助的内容( objective-c ):How AVSampleBufferDisplayLayer displays H.264

在 Swift 上下文中,我很难理解 CMTimebaseCreateWithMasterClock 要求 CMTimebase 相关元素的类型为 UnsafeMutablePointer。有人能够解释如何转换为这个并返回以解决以下代码部分中的问题。

var controlTimebase : CMTimebase

var myAllocator : CFAllocator!

CMTimebaseCreateWithMasterClock( myAllocator, CMClockGetHostTimeClock(), CMTimebase)

// Problem is here...below is the expected format.

//CMTimebaseCreateWithMasterClock(allocator: CFAllocator!, masterClock: CMClock!, timebaseOut: UnsafeMutablePointer < Unmanaged < CMTimebase > ? >)

videoLayer.controlTimebase = controlTimebase

最佳答案

在这里发现不同上下文中需要的 UnsafeMutablePointer 语法: CVPixelBufferPool Error ( kCVReturnInvalidArgument/-6661)

使用下面的代码似乎可以愉快地编译 :-)

            var _CMTimebasePointer = UnsafeMutablePointer<Unmanaged<CMTimebase>?>.alloc(1)
CMTimebaseCreateWithMasterClock( kCFAllocatorDefault, CMClockGetHostTimeClock(), _CMTimebasePointer )
videoLayer.controlTimebase = _CMTimebasePointer.memory?.takeUnretainedValue()

关于ios - Swift iOS AVSampleBufferDisplayLayer 设置视频层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com