camera controller with AVFoundation