【发布时间】:2021-01-21 10:38:40
【问题描述】:
我将 CVPixelBufferRefs 附加到 AVAssetWriterInputPixelBufferAdaptor,该 AVAssetWriterInputPixelBufferAdaptor 连接到 AVAssetWriterInput 以使用 AVAssetWriter 写入文件。
所以,我在打电话
[pixelAdaptor appendPixelBuffer:pxbuffer withPresentationTime:someCMTime];
它可以正常工作。
现在,我按顺序执行此操作,因此在 CMTimeZero,我添加第一帧,在 0.5 秒时添加另一帧,在 1 秒时添加另一帧,依此类推。
我想知道,我必须按顺序执行,还是也可以随机执行?为了争论,反过来呢?比如,先在 1s 处附加一个缓冲区,然后在 0.5s 处,然后在 0s 处?
我问的原因是,我试过了,但它崩溃了,但我不确定它是否崩溃是因为我试图随机附加(非顺序),或者是否有其他原因(比如异步追加)?
只有当输入告诉我(readyForMoreMediaData)时,我才会在串行调度队列上追加。
问题是:非顺序附加应该起作用,还是设计它不起作用?
谢谢, 马蒂亚斯
【问题讨论】:
标签: ios objective-c swift macos avfoundation