X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsnapshot.cpp;h=85f54e784a1174cc0023ae687964ddc6c9ef6165;hp=f3855e06c34ce9bf7cf829b5b27085f70bcb82e7;hb=0fbda3c2dda9357776afa15e99c037eb0cc97214;hpb=1b1ec774978b65209ce2b454cbf81da499b797d2 diff --git a/pv/data/snapshot.cpp b/pv/data/snapshot.cpp index f3855e06..85f54e78 100644 --- a/pv/data/snapshot.cpp +++ b/pv/data/snapshot.cpp @@ -24,7 +24,8 @@ #include #include -using namespace boost; +using boost::lock_guard; +using boost::recursive_mutex; namespace pv { namespace data { @@ -44,16 +45,22 @@ Snapshot::~Snapshot() free(_data); } -uint64_t Snapshot::get_sample_count() +uint64_t Snapshot::get_sample_count() const { lock_guard lock(_mutex); return _sample_count; } +int Snapshot::unit_size() const +{ + return _unit_size; +} + void Snapshot::append_data(void *data, uint64_t samples) { lock_guard lock(_mutex); - _data = realloc(_data, (_sample_count + samples) * _unit_size); + _data = realloc(_data, (_sample_count + samples) * _unit_size + + sizeof(uint64_t)); memcpy((uint8_t*)_data + _sample_count * _unit_size, data, samples * _unit_size); _sample_count += samples;