Deprecation warning

Please note that this is outdated documentation for an older release of the Scandit Barcode Scanner SDK.

We are deprecating the 5.x API on all platforms (except Linux). Release 5.19 in April 2021 will be our final. Applications running 5.x will continue to work, and we will continue to release critical bug fixes and security patches only, for one year. We encourage you to migrate to 6.x and take advantage of our latest / advanced features and improved performance.

You'll find the updated documentation at: Data Capture SDK Documentation for Xamarin.Android and Data Capture SDK Documentation for Xamarin.iOS

ProcessFrameDelegate Interface Reference

Public Member Functions

void DidCaptureImage (BarcodePicker barcodePicker, CMSampleBuffer frame, IScanSession session)
 

Detailed Description

Protocol for accessing the processed sample buffers.

Since
4.7.0

Member Function Documentation

void DidCaptureImage ( BarcodePicker  barcodePicker,
CMSampleBuffer  frame,
IScanSession  session 
)

Method invoked whenever a frame has been processed by the barcode scanner.

This method is called on the ProcessFrameDelegate whenever the barcode scanner has finished processing a frame.

Parameters
barcodePickerthe barcode picker instance that processed the frame
framethe sample buffer containing the actual frame data.
sessionThe current scan session containing the state of the recognition process, e.g. list of codes recognized in the last processed frame. The scan session can only be accessed from within this method. It is however possible to use codes returned by ScanSession.NewlyRecognizedCodes outside this method.

This method is invoked from a picker-internal dispatch queue. To perform UI work, you must dispatch to the main queue first. When new codes have been recognized, this method is invoked after ScanDelegate::barcodePicker:didScan is called on the BarcodePicker::scanDelegate.

Warning
You must call Dispose on the frame when you are done using it, e.g. typically before returning from this delegate method. The system has a limited pool of video frames, and once it runs out of those buffers, the system will stop calling this method until the buffers are released.