Swift: captureOutput no se llama

Así que estoy trabajando en mi primera aplicación Swift, que iba bien hasta que me quedé atrapada aquí. Mire el código a continuación.

// // CameraFrames.swift // Explore // // Created by Kushagra Agarwal on 13/08/15. // Copyright © 2015 Kushagra Agarwal. All rights reserved. // import Foundation import AVFoundation protocol CameraFramesDelegate { func processCameraFrames(sampleBuffer : CMSampleBufferRef) } class CameraFrames : NSObject, AVCaptureVideoDataOutputSampleBufferDelegate { var previewLayer : AVCaptureVideoPreviewLayer? var delegate : CameraFramesDelegate? let captureSession = AVCaptureSession(); var captureDevice : AVCaptureDevice? override init() { super.init() captureSession.beginConfiguration() // Capture the session with High settings preset captureSession.sessionPreset = AVCaptureSessionPresetHigh; self.captureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo); // Because the old error handling method is deprecated do { try captureSession.addInput(AVCaptureDeviceInput(device: captureDevice)); } catch { print("Error in getting input from camera"); } self.previewLayer = AVCaptureVideoPreviewLayer(session: captureSession); let output = AVCaptureVideoDataOutput(); var outputQueue : dispatch_queue_t? outputQueue = dispatch_queue_create("outputQueue", DISPATCH_QUEUE_SERIAL); output.setSampleBufferDelegate(self, queue: outputQueue) output.alwaysDiscardsLateVideoFrames = true; output.videoSettings = nil; captureSession.addOutput(output); captureSession.commitConfiguration() captureSession.startRunning(); } func captureOutput(captureOutput: AVCaptureOutput!, didDropSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) { print("frame dropped") } func captureOutput(captureOutput: AVCaptureOutput, didOutputSampleBuffer sampleBuffer: CMSampleBufferRef, fromConnection connection: AVCaptureConnection) { print("frame received") } } 

La vista previa aparece bien en el teléfono, pero el captureOutput nunca se captureOutput por alguna razón. Miré algunos hilos de SO antiguos, pero ninguno me ayudó a resolver este problema. ¿Alguna idea de cuál puede ser la razón detrás de esto?

Edit: Me olvidé mencionar que tengo un controller de vista en el que estoy previsualizando la capa AVCaptureVideoPreviewLayer , que funciona bien. Tengo la sensación de que el problema está en algún lugar en la configuration de outputQueue pero no puedo entender qué.