我正在向连接到AVAssetWriterInput的AVAssetWriterInputPixelBufferAdaptor中添加CVPixelBufferRefs,以使用AVAssetWriter将其写入文件。因此,我正在调用:
[pixelAdaptor appendPixelBuffer:pxbuffer withPresentationTime:someCMTime];
现在,我是按顺序处理的,所以在CMTimeZero时,我添加了第一帧,在0.5秒时附加另一帧,在1秒时再添加另一帧,以此类推。
我想知道,我是否必须按顺序操作,或者也可以随机操作?举个例子,先在1秒处添加一个缓冲区,然后在0.5秒和0秒处添加?
我问这个问题的原因是,我已经尝试过随机添加,但程序崩溃了,但我不确定它是否崩溃是因为我尝试随机时间(非顺序)添加,还是有其他原因(如异步添加)?
我只在输入告诉我的时候(readyForMoreMediaData)进行附加,在一个串行调度队列上。
问题是:非顺序添加应该能够工作吗?还是这是设计上的限制?
谢谢, Matthias