We need to create a new pixel buffer each time because [AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer:withPresentationTime:] says: "Do not modify a CVPixelBuffer or its contents after you have passed it to this method." and when we ignore that, we occasionally get odd output (like red frames or strange "tearing").