Получение ошибки при попытке конвертировать видео, записанное с камеры или выбранное из галереи: * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «* - [AVAssetWriterInput appendSampleBuffer:] Не удается добавить образецбуфер: первый входной буфер должен иметь соответствующее kCMSampleBufferAttachmentKey_TrimDurationAtStart, так как кодек имеет задержку кодировщика'`
Это обсуждается здесь: CMSampleBufferRef kCMSampleBufferAttachmentKey_TrimDurationAtStart 100 * исключение * 100 * исключение 1007
Вот мой код:
[self.audioInput requestMediaDataWhenReadyOnQueue:self.audioQueue usingBlock:^{
CMSampleBufferRef buffer;
LIMTAssetFileWriter * __strong strongSelf = weakSelf;
while (strongSelf.audioInput.isReadyForMoreMediaData) {
LIMTPayload *payload = [strongSelf.cache dequeuePayloadForType:LIMTPayloadTypeAudio];
buffer = payload.getCMSampleBuffer;
if (buffer) {
if (!strongSelf.sessionStarted) {
[strongSelf.assetWriter startSessionAtSourceTime:CMSampleBufferGetPresentationTimeStamp(buffer)];
strongSelf.sessionStarted = YES;
}
[strongSelf.audioInput appendSampleBuffer:buffer];
[LIMTLogger.sharedLogger logInfo:@"Audio buffer appended"];
CFRelease(buffer);
buffer = NULL;
} else if ([strongSelf.cache statusForType:kCMMediaType_Audio] == LIMTCacheStatusCompleted) {
[strongSelf.audioInput markAsFinished];
[LIMTLogger.sharedLogger logInfo:@"Audio complete"];
dispatch_group_leave(strongSelf.dispatchGroup);
break;
} else {
break;
}
}
}];
Здесь происходит ошибка: [strongSelf.audioInput appendSampleBuffer:buffer];