17#ifndef ADTF_FILE_SAMPLE
18#define ADTF_FILE_SAMPLE
22#include <a_util/variant.h>
52 sai_device_original_time = 1851393682,
53 sai_counter = 1660111993
80 virtual void setTimeStamp(std::chrono::nanoseconds time_stamp) = 0;
147 virtual void iterateInfo(std::function<
void(uint32_t key,
DataType type, uint64_t raw_bytes)> functor)
const = 0;
163 virtual void setRawSampleInfo(
const void* data,
size_t data_size, uint8_t layout_version) = 0;
176 virtual void getRawSampleInfo(std::function<
void(
const void*,
size_t, uint8_t)> handler)
const = 0;
189 virtual void CopyFrom(
const std::shared_ptr<const Sample>& sample) = 0;
interface class for reading sample information.
Definition sample.h:155
virtual void setRawSampleInfo(const void *data, size_t data_size, uint8_t layout_version)=0
Set the Raw Sample Info.
Interface class for samples that are read from a Reader.
Definition sample.h:74
virtual void * beginBufferWrite(size_t size)=0
allocates the memory buffer for sample data
virtual void endBufferWrite()=0
ends writing to the memory allocated with beginBufferWrite
virtual void setFlags(uint32_t flags)=0
Set the Flags.
virtual void setTimeStamp(std::chrono::nanoseconds time_stamp)=0
Set the Time Stamp.
virtual void addInfo(uint32_t key, DataType type, uint64_t raw_bytes)=0
Adds a additional sample information.
virtual void setSubStreamId(uint32_t substream_id)=0
Set the Sub Stream Id, if needed.
interface for copying the contents of one sample into another, probably sharing resources (such as th...
Definition sample.h:183
virtual void CopyFrom(const std::shared_ptr< const Sample > &sample)=0
Sample base class.
Definition stream_item.h:55
interface class for writing sample information.
Definition sample.h:170
virtual void getRawSampleInfo(std::function< void(const void *, size_t, uint8_t)> handler) const =0
Get the Raw Sample Info.
Interface class for samples that are written.
Definition sample.h:116
virtual void endBufferRead() const =0
Ends reading from memory buffer retruned by beginBufferRead.
virtual std::chrono::nanoseconds getTimeStamp() const =0
Get the Time Stamp.
virtual uint32_t getSubStreamId() const =0
Get the Sub Stream Id if set.
virtual uint32_t getFlags() const =0
Get the Flags.
virtual std::pair< const void *, size_t > beginBufferRead() const =0
Retrieve a pointer to the memory buffer for user data and size in bytes.
virtual void iterateInfo(std::function< void(uint32_t key, DataType type, uint64_t raw_bytes)> functor) const =0
iterates all additional data information (if any) by calling the functor
namespace for ADTF File library
Definition adtf2_adtf_core_media_sample_deserializer.h:25
uint32_t createAdtf2SampleInfoHashKey(uint32_t info_index)
Create a Adtf2 Sample Info Hash Key.
DataType
data type id for the adtf_file::ReadSample::addInfo call.
Definition sample.h:34
void copy_sample(adtf_file::Sample &destination, const std::shared_ptr< const Sample > &source)
uint32_t createSampleInfoHashKey(const std::string &name)
Create a Sample Info Hash Key.
SampleInfoKeys
predefefined keys for the adtf_file::ReadSample::addInfo call.
Definition sample.h:51