http://stackoverflow.com/questions/24110610/enum-conversion-of-uiinterfaceorientation-to-avcapturevideoorientation-in-swift
As I noted in my comments, since AVCaptureVideoOrientation and UIInterfaceOrientation don't match up their cases, you can use something like:
extension AVCaptureVideoOrientation {
var uiInterfaceOrientation: UIInterfaceOrientation {
get {
switch self {
case .LandscapeLeft: return .LandscapeLeft
case .LandscapeRight: return .LandscapeRight
case .Portrait: return .Portrait
case .PortraitUpsideDown: return .PortraitUpsideDown
}
}
}
init(ui:UIInterfaceOrientation) {
switch ui {
case .LandscapeRight: self = .LandscapeRight
case .LandscapeLeft: self = .LandscapeLeft
case .Portrait: self = .Portrait
case .PortraitUpsideDown: self = .PortraitUpsideDown
default: self = .Portrait
}
}
}
then use it as:
if let connection = cameraView.previewLayer?.connection {
connection.videoOrientation = AVCaptureVideoOrientation(ui:self.interfaceOrientation)
}