21 #include <unordered_map>
43 std::chrono::nanoseconds offset,
44 std::chrono::nanoseconds start_offset,
45 std::chrono::nanoseconds end_offset);
51 void open(
const std::string& filename,
52 std::shared_ptr<adtf_file::SampleFactory> sample_factory,
53 std::shared_ptr<adtf_file::StreamTypeFactory> stream_type_factory)
override;
59 std::vector<adtf_file::Stream>
getStreams()
const override;
66 std::shared_ptr<Reader> _original_reader;
67 std::chrono::nanoseconds _offset;
68 std::chrono::nanoseconds _start_offset;
69 std::chrono::nanoseconds _end_offset;
72 std::unordered_map<uint16_t, std::shared_ptr<const adtf_file::StreamItem>> _last_stream_types;
90 adtf_file::ADTFDatFileWriter::TargetADTFVersion::adtf3ns,
91 bool skip_stream_types_and_triggers =
false);
100 void addStream(
const std::shared_ptr<adtf_file::Reader> reader,
101 const std::string& stream_name,
102 const std::string& destination_stream_name,
103 const std::shared_ptr<adtf_file::SampleSerializer> serializer);
115 const void* extension_data,
116 size_t extension_size,
117 uint32_t user_id = 0,
118 uint32_t type_id = 0,
127 void process(
const std::function<
bool(
double)>& progress_handler);
130 std::optional<double> calculateProgress();
134 bool _skip_stream_types_and_triggers;
135 std::unordered_map<std::shared_ptr<adtf_file::Reader>, std::unordered_map<uint16_t, size_t>>
Default ADTF DAT File Writer to write an ADTF DAT File (IFHD file with ADTF type and sample content).
Definition: adtf_file_writer.h:272
TargetADTFVersion
Target Verion of the ADTF file to write.
Definition: adtf_file_writer.h:309
class to create or read a file item. This file item is either a sample, streamtype or trigger.
Definition: reader.h:156
Definition: multiplexer.h:79
void addStream(const std::shared_ptr< adtf_file::Reader > reader, const std::string &stream_name, const std::string &destination_stream_name, const std::shared_ptr< adtf_file::SampleSerializer > serializer)
void addExtension(const std::string &name, const void *extension_data, size_t extension_size, uint32_t user_id=0, uint32_t type_id=0, uint32_t version_id=0)
void process(const std::function< bool(double)> &progress_handler)
Multiplexer(const std::string &destination_file_name, adtf_file::ADTFDatFileWriter::TargetADTFVersion target_adtf_version=adtf_file::ADTFDatFileWriter::TargetADTFVersion::adtf3ns, bool skip_stream_types_and_triggers=false)
Definition: multiplexer.h:33
std::vector< adtf_file::Stream > getStreams() const override
Get the Streams.
const adtf_file::Configuration & getConfiguration() const override
std::string getDescription() const override
OffsetReaderWrapper(const std::shared_ptr< Reader > original_reader, std::chrono::nanoseconds offset, std::chrono::nanoseconds start_offset, std::chrono::nanoseconds end_offset)
std::optional< uint64_t > getItemCount() const override
Get the Item Count. This gets the overall count of all items (samples, stream types and triggers) of ...
std::vector< adtf_file::Extension > getExtensions() const override
Get the Extensions if any.
std::string getReaderIdentifier() const override
Get the Reader Identifier of the Reader.
adtf_file::FileItem getNextItem() override
void open(const std::string &filename, std::shared_ptr< adtf_file::SampleFactory > sample_factory, std::shared_ptr< adtf_file::StreamTypeFactory > stream_type_factory) override
opens a file by the given filename. The given factories must be used to create samples and streamtype...
void setConfiguration(const adtf_file::Configuration &configuration) override
uint32_t getFileVersion() const override
std::optional< double > getProgress() const override
Get the Progress, a relative file position between 0.0 and 1.0.
std::unordered_map< std::string, PropertyValue > Configuration
Configuration class as set of key - property value pairs This configuration is used to adjust the rea...
Definition: configuration.h:143
namespace for ADTF DAT Processing library.
Definition: ddl_helpers.h:38
const uint32_t version_id
IFHD Version ID V1.0.
Definition: indexedfile_v100.h:31