Barcode Tracking Session

Defined in namespace Scandit.DataCapture.Barcode.Tracking.Capture

class BarcodeTrackingSession

Added in version 6.2.0

The tracking session contains all the currently tracked barcodes and changes that were made specifically in the last processed frame.


The tracking session should only be accessed from within OnSessionUpdated() to which it is provided as an argument. It is not safe to be accessed from anywhere else since it may be concurrently modified.

Specifically no reference to TrackedBarcodes, AddedTrackedBarcodes, RemovedTrackedBarcodes or UpdatedTrackedBarcodes should be kept and traversed outside of OnSessionUpdated(). Instead a copy of the lists should be made to avoid concurrent modification. The individual tracked barcodes can be referenced without copying as they are not further modified.

IList<TrackedBarcode> AddedTrackedBarcodes { get; }

Added in version 6.2.0

Newly tracked barcodes.

IList<int> RemovedTrackedBarcodes { get; }

Added in version 6.2.0

The identifiers of lost tracked barcodes that were removed.

IList<TrackedBarcode> UpdatedTrackedBarcodes { get; }

Added in version 6.2.0

Updated tracked barcodes (new location).

IDictionary<int, TrackedBarcode> TrackedBarcodes { get; }

Added in version 6.2.0

A map from identifiers to tracked barcodes. It contains all currently tracked barcodes.

long FrameSequenceId { get; }

Added in version 6.2.0

The identifier of the current frame sequence.


As long as there is no interruptions of frames coming from the camera, the FrameSequenceId will stay the same.

void Reset()

Added in version 6.12.0

Resets the barcode tracking session, effectively clearing the history of tracked barcodes. This function should only be called inside the listeners’ callback.