Iphone AVAssetWriterInput崩溃
我正在录制视频的尾随缓冲区。每隔15秒,我将创建一个新的Iphone AVAssetWriterInput崩溃,iphone,avfoundation,avassetwriter,Iphone,Avfoundation,Avassetwriter,我正在录制视频的尾随缓冲区。每隔15秒,我将创建一个新的AVAssetWriter实例,并添加我的AVAssetWriterInput实例作为输入。我使用avcapturedevideodataoutput抓取帧,并像这样添加它们: [writerInput appendSampleBuffer:sampleBuffer] 这在大多数情况下工作正常,但偶尔应用程序会因以下错误消息而崩溃: ***-[CFDictionary removeObjectForKey:]:消息发送到解除分配的实例0x9
AVAssetWriter
实例,并添加我的AVAssetWriterInput
实例作为输入。我使用avcapturedevideodataoutput
抓取帧,并像这样添加它们:
[writerInput appendSampleBuffer:sampleBuffer]
这在大多数情况下工作正常,但偶尔应用程序会因以下错误消息而崩溃:
***-[CFDictionary removeObjectForKey:]:消息发送到解除分配的实例0x96b28a0
这个错误消息到底是什么意思?这是否意味着AVAssetWriter
已被解除分配?或者这是否意味着AVAssetWriterInput
已被解除分配?还有别的吗
谢谢
James消息removeObjectForKey:已发送到地址为0x96b28a0的CFDictionary实例(可能是NSDictionary)。该实例已被释放,但代码仍在使用指向它的指针 如果运行时启用了zombies(也称为NSZombiesEnabled),系统将跟踪解除分配的对象,并将引用保留足够长的时间,以便使用悬空指针进行检测
知道您过度释放了一个对象要比发现错误的释放容易得多。关于这个主题已经写了很多。消息removeObjectForKey:被发送到地址为0x96b28a0的CFDictionary实例(可能是NSDictionary)。该实例已被释放,但代码仍在使用指向它的指针 如果运行时启用了zombies(也称为NSZombiesEnabled),系统将跟踪解除分配的对象,并将引用保留足够长的时间,以便使用悬空指针进行检测
知道您过度释放了一个对象要比发现错误的释放容易得多。关于这个问题已经写了很多了。你确定你可以像那样重用一个AssetWriterInput吗?[AVAssetWriter CanadInput:]有什么要说的吗?这似乎不是问题。谢谢你。等我弄明白了,我会重新发布的。你确定你可以像那样重用一个AssetWriterInput吗?[AVAssetWriter CanadInput:]有什么要说的吗?这似乎不是问题。谢谢你。我会在我弄明白的时候再发。