X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fsegment.hpp;h=f1ff0f527370a80bbf6137d3291ee53715e6698d;hb=067bb62415847791709f4c3cad8bb252a63f45f8;hp=ba1db8e42cee554bc5778dba843dfd63713e9db1;hpb=5e6967cb2bcacbfb9e5b627becb6752621949998;p=pulseview.git diff --git a/pv/data/segment.hpp b/pv/data/segment.hpp index ba1db8e4..f1ff0f52 100644 --- a/pv/data/segment.hpp +++ b/pv/data/segment.hpp @@ -51,7 +51,7 @@ typedef struct { class Segment { private: - static const uint64_t MaxChunkSize = 10*1024*1024; /* 10MiB */ + static const uint64_t MaxChunkSize; public: Segment(uint64_t samplerate, unsigned int unit_size); @@ -74,9 +74,9 @@ protected: void append_samples(void *data, uint64_t samples); uint8_t* get_raw_samples(uint64_t start, uint64_t count) const; - SegmentRawDataIterator* begin_raw_sample_iteration(uint64_t start) const; - void continue_raw_sample_iteration(SegmentRawDataIterator* it, uint64_t increase) const; - void end_raw_sample_iteration(SegmentRawDataIterator* it) const; + SegmentRawDataIterator* begin_raw_sample_iteration(uint64_t start); + void continue_raw_sample_iteration(SegmentRawDataIterator* it, uint64_t increase); + void end_raw_sample_iteration(SegmentRawDataIterator* it); mutable std::recursive_mutex mutex_; std::vector data_chunks_; @@ -87,6 +87,8 @@ protected: double samplerate_; uint64_t chunk_size_; unsigned int unit_size_; + int iterator_count_; + bool mem_optimization_requested_; friend struct SegmentTest::SmallSize8Single; friend struct SegmentTest::MediumSize8Single;