eGrabber Recorder Reference  24.04.0.8
Classes | Typedefs | Enumerations | Functions
Euresys::EGrabberRecorder Namespace Reference

Classes

class  Aborted
 Operation aborted by the user (thrown by Recorder::exportImages) More...
 
class  BufferTooSmall
 Buffer too small error (RECORDER_STATUS_BUFFER_TOO_SMALL) More...
 
class  ChapterNameAlreadyUsed
 The chapter name is already used. More...
 
class  ChapterNameTooLong
 The chapter name is too long. More...
 
class  DataFileFull
 Data file full error (RECORDER_STATUS_DATA_FILE_FULL) More...
 
class  EndOfData
 End of data error (RECORDER_STATUS_END_OF_DATA) More...
 
class  ImageConversionError
 Image conversion error (RECORDER_STATUS_IMAGE_CONVERSION_ERROR) More...
 
class  IndexOutOfRange
 Index out of range error (RECORDER_STATUS_INDEX_OUT_OF_RANGE) More...
 
class  InvalidArgument
 Invalid argument error (RECORDER_STATUS_INVALID_ARGUMENT) More...
 
class  InvalidChapterCharacter
 An invalid character was used in the chapter name. More...
 
class  InvalidContainerPath
 Invalid storage path error (RECORDER_STATUS_INVALID_CONTAINER_PATH) More...
 
class  InvalidDataSize
 Invalid data size on reading. More...
 
class  InvalidHandle
 Invalid handle error (RECORDER_STATUS_INVALID_HANDLE) More...
 
class  InvalidIndexData
 Invalid index data error (RECORDER_STATUS_INVALID_INDEX_DATA) More...
 
class  InvalidIndexHeader
 Invalid index header error (RECORDER_STATUS_INVALID_INDEX_HEADER) More...
 
class  InvalidIndexSize
 Invalid index size error (RECORDER_STATUS_INVALID_INDEX_SIZE) More...
 
class  InvalidLengthWritten
 Invalid length written error (RECORDER_STATUS_INVALID_LENGTH_WRITTEN) More...
 
class  InvalidParameterType
 Invalid parameter type error (RECORDER_STATUS_INVALID_PARAMETER_TYPE) More...
 
class  InvalidParameterValue
 Invalid parameter value error (RECORDER_STATUS_INVALID_PARAMETER_VALUE) More...
 
class  LicenseManagerError
 License Manager error (RECORDER_STATUS_LICENSE_MANAGER_ERROR) More...
 
class  NoContainer
 No container in path (RECORDER_STATUS_NO_CONTAINER) More...
 
class  NoLicense
 No license (RECORDER_STATUS_NO_LICENSE) More...
 
class  NotInitialized
 Not initialized error (RECORDER_STATUS_NOT_INITIALIZED) More...
 
class  OperationNotAllowed
 Operation not allowed error (RECORDER_STATUS_OPERATION_NOT_ALLOWED) More...
 
class  ParameterIsReadOnly
 Parameter read-only error (RECORDER_STATUS_PARAMETER_IS_READ_ONLY) More...
 
class  Recorder
 A Recorder object that encapsulates a recorder handle (RECORDER_HANDLE) and exposes higher level recorder functions; the destructor takes care of closing the recorder when the object goes out of scope. More...
 
class  RecorderError
 A Recorder error (RECORDER_STATUS) More...
 
class  RecorderLibrary
 A Recorder library object that loads and unloads the Recorder Library and exposes its low-level functions. More...
 
class  ReservedChapterName
 The chapter name conflicts with a reserved name. More...
 
class  ResourceInUse
 Resource in use error (RECORDER_STATUS_RESOURCE_IN_USE) More...
 
struct  S_RECORDER_BUFFER_INFO
 
class  SystemError
 System error RECORDER_STATUS_SYSTEM_ERROR. More...
 
class  UnknownError
 Unknown error (RECORDER_STATUS_UNKNOWN_ERROR) More...
 
class  UnknownParameter
 Unknown parameter error (RECORDER_STATUS_UNKNOWN_PARAMETER) More...
 
class  UnsupportedDatabaseVersion
 Unsupported database version error (RECORDER_STATUS_UNSUPPORTED_DATABASE_VERSION) More...
 
class  UnsupportedImageFormatError
 Unsupported image format error (thrown by Recorder::exportImages) More...
 

Typedefs

typedef int RECORDER_STATUS
 
typedef struct Euresys::EGrabberRecorder::S_RECORDER_BUFFER_INFO RECORDER_BUFFER_INFO
 
typedef void * RECORDER_HANDLE
 
typedef unsigned int RECORDER_PARAMETER
 
typedef unsigned int RECORDER_OPEN_MODE
 
typedef unsigned int RECORDER_CLOSE_MODE
 
typedef unsigned int RECORDER_PROGRESS_STATE
 
typedef int(* RECORDER_PROGRESS_CALLBACK) (void *context, RECORDER_PROGRESS_STATE state, size_t index, size_t count)
 
typedef int64_t RECORDER_BAYER_DECODING_METHOD
 

Enumerations

enum  RECORDER_STATUS_LIST {
  RECORDER_STATUS_OK = 0, RECORDER_STATUS_NOT_INITIALIZED = -1, RECORDER_STATUS_UNKNOWN_ERROR = -2, RECORDER_STATUS_UNKNOWN_PARAMETER = -3,
  RECORDER_STATUS_INVALID_PARAMETER_TYPE = -4, RECORDER_STATUS_INVALID_PARAMETER_VALUE = -5, RECORDER_STATUS_BUFFER_TOO_SMALL = -6, RECORDER_STATUS_PARAMETER_IS_READ_ONLY = -7,
  RECORDER_STATUS_SYSTEM_ERROR = -8, RECORDER_STATUS_INVALID_CONTAINER_PATH = -9, RECORDER_STATUS_DATA_FILE_FULL = -11, RECORDER_STATUS_OPERATION_NOT_ALLOWED = -12,
  RECORDER_STATUS_INDEX_OUT_OF_RANGE = -13, RECORDER_STATUS_INVALID_INDEX_DATA = -14, RECORDER_STATUS_INVALID_INDEX_SIZE = -15, RECORDER_STATUS_UNSUPPORTED_DATABASE_VERSION = -16,
  RECORDER_STATUS_INVALID_INDEX_HEADER = -17, RECORDER_STATUS_INVALID_LENGTH_WRITTEN = -18, RECORDER_STATUS_INVALID_HANDLE = -19, RECORDER_STATUS_RESOURCE_IN_USE = -20,
  RECORDER_STATUS_END_OF_DATA = -21, RECORDER_STATUS_NO_CONTAINER = -22, RECORDER_STATUS_INVALID_ARGUMENT = -23, RECORDER_STATUS_LICENSE_MANAGER_ERROR = -24,
  RECORDER_STATUS_NO_LICENSE = -25, RECORDER_STATUS_IMAGE_CONVERSION_ERROR = -26, RECORDER_STATUS_UNSUPPORTED_IMAGE_FORMAT = -27, RECORDER_STATUS_ABORTED = -28,
  RECORDER_STATUS_INVALID_DATA_SIZE = -29, RECORDER_STATUS_INVALID_CHAPTER_CHARACTER = -30, RECORDER_STATUS_RESERVED_CHAPTER_NAME = -31, RECORDER_STATUS_CHAPTER_NAME_ALREADY_USED = -32,
  RECORDER_STATUS_CHAPTER_NAME_TOO_LONG = -33
}
 
enum  RECORDER_PARAMETER_LIST {
  RECORDER_PARAMETER_VERSION = 0, RECORDER_PARAMETER_CONTAINER_SIZE = 1, RECORDER_PARAMETER_RECORD_INDEX = 2, RECORDER_PARAMETER_RECORD_COUNT = 3,
  RECORDER_PARAMETER_REMAINING_SPACE_ON_DEVICE = 4, RECORDER_PARAMETER_BUFFER_OPTIMAL_ALIGNMENT = 5, RECORDER_PARAMETER_DATABASE_VERSION = 7, RECORDER_PARAMETER_REMAINING_SPACE_IN_CONTAINER = 8,
  RECORDER_PARAMETER_CHAPTER_COUNT = 10, RECORDER_PARAMETER_CHAPTER_INDEX = 11, RECORDER_PARAMETER_CHAPTER_RECORD_INDEX = 12, RECORDER_PARAMETER_CHAPTER_RECORD_COUNT = 13,
  RECORDER_PARAMETER_CHAPTER_UTC = 14, RECORDER_PARAMETER_CHAPTER_TIMESTAMP = 15, RECORDER_PARAMETER_CHAPTER_NAME = 16, RECORDER_PARAMETER_CHAPTER_USER_INFO = 17,
  RECORDER_PARAMETER_BAYER_DECODING_METHOD = 18, RECORDER_PARAMETER_LICENSE_STATUS = 19, RECORDER_PARAMETER_PARTIAL_IO_RETRY_LIMIT = 20, RECORDER_PARAMETER_DEVICE_TEMPERATURE = 21
}
 
enum  RECORDER_OPEN_MODE_LIST { RECORDER_OPEN_MODE_WRITE = 0, RECORDER_OPEN_MODE_READ = 1, RECORDER_OPEN_MODE_APPEND = 2 }
 
enum  RECORDER_CLOSE_MODE_LIST { RECORDER_CLOSE_MODE_TRIM = 0, RECORDER_CLOSE_MODE_KEEP = 1, RECORDER_CLOSE_MODE_DONT_TRIM_CHAPTERS = 0x100 }
 
enum  RECORDER_PROGRESS_STATE_LIST { RECORDER_PROGRESS_STATE_STARTING = 0, RECORDER_PROGRESS_STATE_ONGOING = 1, RECORDER_PROGRESS_STATE_ENDING = 2 }
 
enum  RECORDER_BAYER_DECODING_METHOD_LIST {
  RECORDER_BAYER_DECODING_METHOD_NONE = -1, RECORDER_BAYER_DECODING_METHOD_1 = 1, RECORDER_BAYER_DECODING_METHOD_2 = 2, RECORDER_BAYER_DECODING_METHOD_3 = 3,
  RECORDER_BAYER_DECODING_METHOD_5 = 5
}
 

Functions

RECORDER_API RecorderInitLib ()
 Open the Recorder library. More...
 
RECORDER_API RecorderCloseLib ()
 Close the Recorder library. More...
 
RECORDER_API RecorderOpen (const char *path, RECORDER_OPEN_MODE mode, RECORDER_HANDLE *handle, uint32_t *fileVersion)
 Open a recorder object. More...
 
RECORDER_API RecorderClose (RECORDER_HANDLE handle, RECORDER_CLOSE_MODE mode)
 Close a recorder object. More...
 
RECORDER_API RecorderSetParameterString (RECORDER_HANDLE handle, RECORDER_PARAMETER parameter, const char *value)
 Set a recorder object parameter string value. More...
 
RECORDER_API RecorderGetParameterString (RECORDER_HANDLE handle, RECORDER_PARAMETER parameter, char *value, size_t *size)
 Get a recorder object parameter string value. More...
 
RECORDER_API RecorderSetParameterInteger (RECORDER_HANDLE handle, RECORDER_PARAMETER parameter, int64_t value)
 Set a recorder object parameter integer value. More...
 
RECORDER_API RecorderGetParameterInteger (RECORDER_HANDLE handle, RECORDER_PARAMETER parameter, int64_t *value)
 Get a recorder object parameter integer value. More...
 
RECORDER_API RecorderRead (RECORDER_HANDLE handle, RECORDER_BUFFER_INFO *info, void *buffer, size_t *bufferSize, void *reserved)
 Read the record at the current index position from a recorder container opened in read mode. More...
 
RECORDER_API RecorderWrite (RECORDER_HANDLE handle, const RECORDER_BUFFER_INFO *info, const void *buffer, void *reserved1, void *reserved2, void *reserved3)
 Write buffer info and data to a recorder container opened in write or append mode. More...
 
RECORDER_API RecorderExport (RECORDER_HANDLE handle, const char *path, size_t *count, uint32_t exportPixelFormat, unsigned int reserved, RECORDER_PROGRESS_CALLBACK progressCallback, void *progressContext)
 Export a range of recorded images to files. More...
 
RECORDER_API RecorderStartChapter (RECORDER_HANDLE handle, const char *name, const char *info)
 Start a new chapter. More...
 

Class Documentation

◆ Euresys::EGrabberRecorder::S_RECORDER_BUFFER_INFO

struct Euresys::EGrabberRecorder::S_RECORDER_BUFFER_INFO
Class Members
uint64_t size buffer size (in bytes)
uint64_t pitch buffer pitch in bytes (size of a line including padding)
uint64_t width buffer width (number of pixels in a line)
uint64_t height delivered height (e.g.

GenTL::BUFFER_INFO_DELIVERED_IMAGEHEIGHT)

uint32_t pixelformat buffer pixel format (GenICam PFNC 32-bit value)
uint32_t partCount fixed maximum number of parts in the buffer
uint64_t timestamp buffer timestamp, expressed in nanoseconds since the computer booted (e.g.

GenTL::BUFFER_INFO_TIMESTAMP_NS)

uint64_t userdata any buffer specific user data
uint64_t utc UTC timestamp (if 0 when written, read will return buffer timestamp converted to UTC using the synchronized timestamps of the buffer chapter)
uint64_t chapterIndex chapter index; Chapter0 always exists for legacy recordings (set by the library)
uint64_t partSize size of each buffer part (if 0 when written, read will return (size / partCount)
uint64_t reserved[13] reserved for future use, must be 0

Typedef Documentation

◆ RECORDER_STATUS

typedef int RECORDER_STATUS

◆ RECORDER_BUFFER_INFO

◆ RECORDER_HANDLE

typedef void* RECORDER_HANDLE

◆ RECORDER_PARAMETER

typedef unsigned int RECORDER_PARAMETER

◆ RECORDER_OPEN_MODE

typedef unsigned int RECORDER_OPEN_MODE

◆ RECORDER_CLOSE_MODE

typedef unsigned int RECORDER_CLOSE_MODE

◆ RECORDER_PROGRESS_STATE

typedef unsigned int RECORDER_PROGRESS_STATE

◆ RECORDER_PROGRESS_CALLBACK

typedef int(* RECORDER_PROGRESS_CALLBACK) (void *context, RECORDER_PROGRESS_STATE state, size_t index, size_t count)

◆ RECORDER_BAYER_DECODING_METHOD

Enumeration Type Documentation

◆ RECORDER_STATUS_LIST

Enumerator
RECORDER_STATUS_OK 

The operation completed successfully.

RECORDER_STATUS_NOT_INITIALIZED 

The recorder library is not initialized.

RECORDER_STATUS_UNKNOWN_ERROR 

An unknown error has occurred.

RECORDER_STATUS_UNKNOWN_PARAMETER 

The recorder parameter is unknown.

RECORDER_STATUS_INVALID_PARAMETER_TYPE 

The recorder parameter type is invalid.

RECORDER_STATUS_INVALID_PARAMETER_VALUE 

The recorder parameter value is invalid.

RECORDER_STATUS_BUFFER_TOO_SMALL 

The destination buffer is too small.

RECORDER_STATUS_PARAMETER_IS_READ_ONLY 

The recorder parameter is read-only.

RECORDER_STATUS_SYSTEM_ERROR 

A system error has occurred.

RECORDER_STATUS_INVALID_CONTAINER_PATH 

The specified container path is invalid.

RECORDER_STATUS_DATA_FILE_FULL 

The container data file is full.

RECORDER_STATUS_OPERATION_NOT_ALLOWED 

The operation is not allowed by the recorder open mode.

RECORDER_STATUS_INDEX_OUT_OF_RANGE 

The RECORDER_PARAMETER_RECORD_INDEX value is out of range.

RECORDER_STATUS_INVALID_INDEX_DATA 

The internal meta-data of the current record is invalid (partial read)

RECORDER_STATUS_INVALID_INDEX_SIZE 

The internal meta-data size of the container is invalid (partial read or invalid meta-data file size)

RECORDER_STATUS_UNSUPPORTED_DATABASE_VERSION 

The given container is not supported by the recorder library.

RECORDER_STATUS_INVALID_INDEX_HEADER 

The internal meta-data header of the container is invalid.

RECORDER_STATUS_INVALID_LENGTH_WRITTEN 

Some data was not completely written to disk (partial write)

RECORDER_STATUS_INVALID_HANDLE 

The record handle is invalid.

RECORDER_STATUS_RESOURCE_IN_USE 

The resource is already in use.

RECORDER_STATUS_END_OF_DATA 

There is no more record to read in the container.

RECORDER_STATUS_NO_CONTAINER 

The path does not contain a container and read only access is required.

RECORDER_STATUS_INVALID_ARGUMENT 

A given argument is invalid.

RECORDER_STATUS_LICENSE_MANAGER_ERROR 

An error occurred in the licenser manager, please contact Euresys support.

RECORDER_STATUS_NO_LICENSE 

There is no valid license for this library, please contact Euresys support.

RECORDER_STATUS_IMAGE_CONVERSION_ERROR 

An image conversion error has occurred.

RECORDER_STATUS_UNSUPPORTED_IMAGE_FORMAT 

The image format is not supported by the export file.

RECORDER_STATUS_ABORTED 

The current operation has been aborted by the user.

RECORDER_STATUS_INVALID_DATA_SIZE 

A read operation returned an invalid size (partial read or invalid data file size)

RECORDER_STATUS_INVALID_CHAPTER_CHARACTER 

The chapter name has an invalid character.

RECORDER_STATUS_RESERVED_CHAPTER_NAME 

The chapter name conflicts with a reserved name.

RECORDER_STATUS_CHAPTER_NAME_ALREADY_USED 

The chapter name is already used.

RECORDER_STATUS_CHAPTER_NAME_TOO_LONG 

The chapter name is too long.

◆ RECORDER_PARAMETER_LIST

Enumerator
RECORDER_PARAMETER_VERSION 

recorder library version

RECORDER_PARAMETER_CONTAINER_SIZE 

recorder container size

RECORDER_PARAMETER_RECORD_INDEX 

current recorder index position

RECORDER_PARAMETER_RECORD_COUNT 

number of records in the recorder container

RECORDER_PARAMETER_REMAINING_SPACE_ON_DEVICE 

space left on the same disk as the recorder container

RECORDER_PARAMETER_BUFFER_OPTIMAL_ALIGNMENT 

buffer alignment recommended for best write performance on recorder storage disk, changing the value should be done with extreme caution (set 0 for default value)

RECORDER_PARAMETER_DATABASE_VERSION 

format version of recorder container

RECORDER_PARAMETER_REMAINING_SPACE_IN_CONTAINER 

space left in the recorder container

RECORDER_PARAMETER_CHAPTER_COUNT 

number of chapters in the container (read only)

RECORDER_PARAMETER_CHAPTER_INDEX 

chapter selector

RECORDER_PARAMETER_CHAPTER_RECORD_INDEX 

index of record in the current chapter

RECORDER_PARAMETER_CHAPTER_RECORD_COUNT 

number of records in the current chapter (read only)

RECORDER_PARAMETER_CHAPTER_UTC 

chapter UTC time (UTC value of synchronized pair of timestamps for the current chapter, cf.

RecorderStartChapter) (read only)

RECORDER_PARAMETER_CHAPTER_TIMESTAMP 

chapter timestamp (system value of synchronized pair of timestamps for the current chapter, cf.

RecorderStartChapter) (read only)

RECORDER_PARAMETER_CHAPTER_NAME 

chapter name

RECORDER_PARAMETER_CHAPTER_USER_INFO 

chapter user info

RECORDER_PARAMETER_BAYER_DECODING_METHOD 

decoding method to use when Bayer format is converted (default is RECORDER_BAYER_DECODING_METHOD_1, cf.

RECORDER_BAYER_DECODING_METHOD)

RECORDER_PARAMETER_LICENSE_STATUS 

recorder library license status

RECORDER_PARAMETER_PARTIAL_IO_RETRY_LIMIT 

number of retries for partial I/O operations (read/write) before raising invalid data length errors (default is 1)

RECORDER_PARAMETER_DEVICE_TEMPERATURE 

current temperature of the device in mK (might require special permissions) (read only)

◆ RECORDER_OPEN_MODE_LIST

Enumerator
RECORDER_OPEN_MODE_WRITE 

open a new or an existing (to overwrite) recorder in write mode (record index set to 0)

RECORDER_OPEN_MODE_READ 

open an existing recorder in read mode (record index set to 0)

RECORDER_OPEN_MODE_APPEND 

open an existing recorder in append mode (record index set to record count)

◆ RECORDER_CLOSE_MODE_LIST

Enumerator
RECORDER_CLOSE_MODE_TRIM 

trim the recorder container size when closing the recorder

RECORDER_CLOSE_MODE_KEEP 

keep the current recorder container size when closing the recorder

RECORDER_CLOSE_MODE_DONT_TRIM_CHAPTERS 

keep the trailing chapters even if they are empty (can be combined with trim or keep)

◆ RECORDER_PROGRESS_STATE_LIST

Enumerator
RECORDER_PROGRESS_STATE_STARTING 

An operation is starting, index and count are not set.

RECORDER_PROGRESS_STATE_ONGOING 

An operation is ongoing, index and count are set according to the current progress.

RECORDER_PROGRESS_STATE_ENDING 

An operation is ending (successfully or not), index and count are not set.

◆ RECORDER_BAYER_DECODING_METHOD_LIST

Enumerator
RECORDER_BAYER_DECODING_METHOD_NONE 

Bayer decoding disabled, content is interpreted as Mono.

RECORDER_BAYER_DECODING_METHOD_1 

Bayer decoding method 1 (3x3 interpolation, a.k.a.

legacy method)

RECORDER_BAYER_DECODING_METHOD_2 

Bayer decoding method 2 (3x3 median-based interpolation, a.k.a.

advanced method)

RECORDER_BAYER_DECODING_METHOD_3 

Bayer decoding method 3 (5x5 gradient-based interpolation)

RECORDER_BAYER_DECODING_METHOD_5 

Bayer decoding method 5 (2x2 average-based interpolation)