# ObjectDetectorLiveStreamDelegate

    protocol ObjectDetectorLiveStreamDelegate: NSObjectProtocol

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

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

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

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

  #### Declaration

  Swift

      optional func objectDetector(_ objectDetector: ObjectDetector, didFinishDetection result: ObjectDetectorResult?, timestampInMilliseconds: Int, error: (any Error)?)

  #### Parameters

  |---|---|
  | `objectDetector` | The object detector which performed the object detection. This is useful to test equality when there are multiple instances of `ObjectDetector`. |
  | `result` | The `ObjectDetectorResult` 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 object detector. |
  | `error` | An optional error parameter populated when there is an error in performing object detection on the input live stream image data. |