# FaceDetectorLiveStreamDelegate

    protocol FaceDetectorLiveStreamDelegate: NSObjectProtocol

This protocol defines an interface for the delegates of `FaceDetector` face to receive results of performing asynchronous face detection on images (i.e, when `runningMode` = `.liveStream`).

The delegate of `FaceDetector` must adopt `FaceDetectorLiveStreamDelegate` protocol. The methods in this protocol are optional.
- `
  ### [faceDetector(_:didFinishDetection:timestampInMilliseconds:error:)](https://developers.google.com/edge/api/mediapipe/swift/vision/Protocols/FaceDetectorLiveStreamDelegate.md.txt#/c:objc(pl)MPPFaceDetectorLiveStreamDelegate(im)faceDetector:didFinishDetectionWithResult:timestampInMilliseconds:error:)

  ` This method notifies a delegate that the results of asynchronous face detection of an image submitted to the `FaceDetector` is available.

  This method is called on a private serial dispatch queue created by the `FaceDetector` for performing the asynchronous delegates calls.

  #### Declaration

  Swift

      optional func faceDetector(_ faceDetector: FaceDetector, didFinishDetection result: FaceDetectorResult?, timestampInMilliseconds: Int, error: (any Error)?)

  #### Parameters

  |---|---|
  | `faceDetector` | The face detector which performed the face detection. This is useful to test equality when there are multiple instances of `FaceDetector`. |
  | `result` | The `FaceDetectorResult` object that contains a list of detections, each detection has a bounding box that is expressed in the unrotated input frame of reference coordinates system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the underlying image data. |
  | `timestampInMilliseconds` | The timestamp (in milliseconds) which indicates when the input image was sent to the face detector. |
  | `error` | An optional error parameter populated when there is an error in performing face detection on the input live stream image data. |