     private var socket: SpeechToTextWebSocket?
     private var captureSession: AVCaptureSession?
 
+    /**
+     Create a `SpeechToTextAudioStreamer` to stream microphone audio to Speech to Text.
+
+     - parameter authStrategy: An `AuthenticationStrategy` that defines how to authenticate
+        with the Watson Developer Cloud's Speech to Text service. The `AuthenticationStrategy`
+        is used internally to obtain tokens, refresh expired tokens, and maintain information
+        about authentication state.
+     - parameter settings: The configuration for this transcription request.
+     - parameter failure: A function executed whenever an error occurs.
+     - parameter success: A function executed with all transcription results whenever
+        a final or interim transcription is received.
+     
+     - returns: A `SpeechToTextAudioStreamer` object that can stream microphone audio to
+        Speech to Text.
+    */
     init?(
         authStrategy: AuthenticationStrategy,
         settings: SpeechToTextSettings,

        }
    }

    func captureOutput(
        captureOutput: AVCaptureOutput!,
        didOutputSampleBuffer sampleBuffer: CMSampleBuffer!,
        fromConnection connection: AVCaptureConnection!)
    {
        guard CMSampleBufferDataIsReady(sampleBuffer) else {
            if let failure = failure {
                let description = "Microphone audio buffer ignored because it was not ready."
                let error = createError(SpeechToTextConstants.domain, description: description)
                failure(error)
            }
            return
        }


        return true
    }

    /**
     Stop streaming microphone audio to Speech to Text
     */
    func stopStreaming() {
        captureSession?.stopRunning()
        captureSession = nil
