IOS8 以降、commitConfiguration を使用すると奇妙な問題が発生します。AVCaptureMovieFileOutput を介して 5 秒のファイルを記録します。ファイルを変更すると、カメラのプレビューがちらつき、1 秒間黒くなります。また、受信サーバーでファイルをステッチバックするときにスタッターが発生します。
// method that switches the output file
- (void) switchOutputFile {
NSURL *outputUrl = [self getOutputFileUrl];
NSLog(@"Switching to: %@", outputUrl);
// begin configuration
[self.captureSession beginConfiguration];
// remove the current writer
[self.captureSession removeOutput:self.fileOutput];
// attach new writer
self.fileOutput = [self attachFileWriter:self.captureSession];
// commit configuration
[self.captureSession commitConfiguration];
// after this line the camera preview flickers.
[self.fileOutput startRecordingToOutputFileURL:outputUrl recordingDelegate:self];
}