Resource Base
Table of contents

Thanks for downloading Dynamsoft Barcode Reader Package!

Your download will start shortly. If your download does not begin, click here to retry.

Video Methods

Method Description
StartFrameDecoding Decode barcodes from inner frame queue.
StartFrameDecodingEx Decode barcodes from inner frame queue.
AppendFrame Append a frame image buffer to the inner frame queue.
StopFrameDecoding Stop thread used for frame decoding.
InitFrameDecodingParameters Initialize frame decoding parameter.
SetErrorCallback Set callback function to process errors generated during frame decoding.
SetTextResultCallback Set callback function to process text results generated during frame decoding.
SetIntermediateResultCallback Set callback function to process intermediate results generated during frame decoding.
GetLengthOfFrameQueue Get length of current inner frame queue.

StartFrameDecoding

Start a new thread to decode barcodes from the inner frame queue with specific frame decoding setting passed in.

int dynamsoft::dbr::CBarcodeReader::StartFrameDecoding (const int maxQueueLength, const int maxResultQueueLength, const int width, const int height, const int stride, const ImagePixelFormat format, const char* pTemplateName = "") 

Parameters
[in] maxQueueLength The max number of frames waiting for decoding.
[in] maxResultQueueLength The max number of frames whose results (text result/localization result) will be kept.
[in] width The width of the frame image in pixels.
[in] height The height of the frame image in pixels.
[in] stride The stride (or scan width) of the frame image.
[in] format The image pixel format used in the image byte array.
[in] pTemplateNameOptional The template name.

Return Value
Returns error code. Possible return(s): DBR_OK; DBRERR_FRAME_DECODING_THREAD_EXISTS; DBRERR_PARAMETER_VALUE_INVALID.
You can call GetErrorString to get detailed error message.

Code Snippet

CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
reader->StartFrameDecoding(2, 10, 1024, 720, 720, IPF_BINARY, "");
delete reader;

Remarks
If no template name is specified, current runtime settings will be used.

StartFrameDecodingEx

Start a new thread to decode barcodes from the inner frame queue with specific frame decoding setting defined in FrameDecodingParameters struct.

int dynamsoft::dbr::CBarcodeReader::StartFrameDecodingEx (FrameDecodingParameters parameters, const char* pTemplateName = "")	

Parameters
[in] parameters The frame decoding parameters.
[in] pTemplateNameOptional The template name.

Return Value
Returns error code. Possible return(s): DBR_OK; DBRERR_FRAME_DECODING_THREAD_EXISTS; DBRERR_PARAMETER_VALUE_INVALID.
You can call GetErrorString to get detailed error message.

Code Snippet

CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
FrameDecodingParameters parameters;
int errorCode = reader->InitFrameDecodingParameters(&parameters);
if(errorCode == DBR_OK)
{
    parameters.maxQueueLength = 3;
    parameters.maxResultQueueLength = 10;
    parameters.width = 20;
    parameters.height = 30;
    parameters.stride = 10;
    parameters.imagePixelFormat = IPF_GRAYSCALED;
    parameters.region.regionMeasuredByPercentage = 1;
    parameters.region.regionTop = 0;
    parameters.region.regionBottom = 100;
    parameters.region.regionLeft = 0;
    parameters.region.regionRight = 100;
    parameters.threshold = 0.1;
    parameters.fps = 0;
    reader->StartFrameDecodingEx(parameters, "");
}
delete reader;

Remarks
If no template name is specified, current runtime settings will be used.

AppendFrame

Append a frame image buffer to the inner frame queue.

int dynamsoft::dbr::CBarcodeReader::AppendFrame (unsigned char* pBufferBytes) 

Parameters
[in] pBufferBytes The array of bytes which contain the image data.

Return Value
Returns the ID of the appended frame.

Code Snippet

CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
int frameId = reader->AppendFrame(pBufferBytes);
delete reader;

StopFrameDecoding

Stop the frame decoding thread created by StartFrameDecoding or StartFrameDecodingEx.

int dynamsoft::dbr::CBarcodeReader::AppendFrame (unsigned char* pBufferBytes) 

Parameters
[in] pBufferBytes The array of bytes which contain the image data.

Return Value
Returns error code. Possible return(s): DBR_OK; DBRERR_FRAME_DECODING_THREAD_EXISTS; DBRERR_PARAMETER_VALUE_INVALID.
You can call GetErrorString to get detailed error message.

Code Snippet

CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
reader->StartFrameDecoding(2, 10, 1024, 720, 720, IPF_BINARY, "");
int errorCode = reader->StopFrameDecoding();
delete reader;

InitFrameDecodingParameters

Initialize frame decoding parameters with default values.

int dynamsoft::dbr::CBarcodeReader::InitFrameDecodingParameters (FrameDecodingParameters* pParameters)

Parameters
[in,out] pParameters The frame decoding parameters.

Return Value
Returns error code. Possible return(s): DBR_OK.
You can call GetErrorString to get detailed error message.

Code Snippet

CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
FrameDecodingParameters parameters;
int errorCode = reader->InitFrameDecodingParameters(&parameters);
if(errorCode == DBR_OK)
{
    parameters.maxQueueLength = 3;
    parameters.maxResultQueueLength = 10;
    parameters.width = 20;
    parameters.height = 30;
    parameters.stride = 10;
    parameters.imagePixelFormat = IPF_GRAYSCALED;
    parameters.region.regionMeasuredByPercentage = 1;
    parameters.region.regionTop = 0;
    parameters.region.regionBottom = 100;
    parameters.region.regionLeft = 0;
    parameters.region.regionRight = 100;
    parameters.threshold = 0.1;
    parameters.fps = 0;
    reader->StartFrameDecodingEx(parameters, "");
}
delete reader;

SetErrorCallback

Set callback function to process errors generated during frame decoding.

int dynamsoft::dbr::CBarcodeReader::SetErrorCallback (CB_Error cbFunction, void* pUser)	

Parameters
[in] cbFunction Callback function.
[in] pUser Customized arguments passed to your function.

Return Value
Returns error code. Possible return(s): DBR_OK; DBRERR_FRAME_DECODING_THREAD_EXISTS.
You can call GetErrorString to get detailed error message.

Code Snippet

void ErrorFunction(int frameId, int errorCode, void * pUser)
{
    //TODO add your code for using error code
}
CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
reader->SetErrorCallback(ErrorFunction, NULL);
reader->StartFrameDecoding(2, 10, 1024, 720, 720, IPF_BINARY, "");

SetTextResultCallback

Set callback function to process text results generated during frame decoding.

int dynamsoft::dbr::CBarcodeReader::SetTextResultCallback (CB_TextResult cbFunction, void* pUser)	

Parameters
[in] cbFunction Callback function.
[in] pUser Customized arguments passed to your function.

Return Value
Returns error code. Possible return(s): DBR_OK; DBRERR_FRAME_DECODING_THREAD_EXISTS.
You can call GetErrorString to get detailed error message.

Code Snippet

void TextResultFunction(int frameId, TextResultArray *pResults, void * pUser)
{
    //TODO add your code for using text results
}
CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
reader->SetTextResultCallback(TextResultFunction, NULL);
reader->StartFrameDecoding(2, 10, 1024, 720, 720, IPF_BINARY, "");

SetIntermediateResultCallback

Set callback function to process intermediate results generated during frame decoding.

int dynamsoft::dbr::CBarcodeReader::SetIntermediateResultCallback (CB_IntermediateResult cbFunction, void* pUser)		

Parameters
[in] cbFunction Callback function.
[in] pUser Customized arguments passed to your function.

Return Value
Returns error code. Possible return(s): DBR_OK; DBRERR_FRAME_DECODING_THREAD_EXISTS.
You can call GetErrorString to get detailed error message.

Code Snippet

void IntermediateResultFunction(int frameId, IntermediateResultArray *pResults, void * pUser)
{
    //TODO add your code for using intermediate results
}
CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
PublicRuntimeSettings* pSettings = new PublicRuntimeSettings;
reader->GetRuntimeSettings(pSettings);
pSettings->intermediateResultTypes = IRT_ORIGINAL_IMAGE | IRT_COLOUR_CLUSTERED_IMAGE | IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE;
char errorMessage[256];
reader->UpdateRuntimeSettings(pSettings, errorMessage, 256);
reader->SetIntermediateResultCallback(IntermediateResultFunction, NULL);
reader->StartFrameDecoding(2, 10, 1024, 720, 720, IPF_BINARY, "");

GetLengthOfFrameQueue

Get length of current inner frame queue.

int dynamsoft::dbr::CBarcodeReader::GetLengthOfFrameQueue ()	

Return Value
Returns length of current inner frame queue.

Code Snippet

CBarcodeReader* reader = new CBarcodeReader();
reader->InitLicense("t0260NwAAAHV***************");
int frameLength = reader->GetLengthOfFrameQueue();
delete reader;

This page is compatible for:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

latest version

  • Latest version
  • Version 8.6.0
  • Version 8.4.0
  • Version 8.2.5
  • Version 8.2.3
  • Version 8.2.1
  • Version 8.2.0
  • Version 8.1.3
  • Version 8.1.2
  • Version 8.1.0
  • Version 8.0.0
  • Version 7.6.0
  • Version 7.5.0
Change +
© 2003–2021 Dynamsoft. All rights reserved.
Privacy Statement / Site Map / Home / Purchase / Support