X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecoderstack.cpp;h=201c87f7fc668596fe49c0b30ffccc4a2b49ec77;hp=bb2818bb79aab0d2c336a0045d5e0a0eb3c2a5a6;hb=ba5cd8cb80f12445b95cf1050ac0c9a1451e3ce0;hpb=f054289f67046e0c2d23d0f34eba94a681cc7ccd diff --git a/pv/data/decoderstack.cpp b/pv/data/decoderstack.cpp index bb2818bb..201c87f7 100644 --- a/pv/data/decoderstack.cpp +++ b/pv/data/decoderstack.cpp @@ -27,7 +27,7 @@ #include "decoderstack.hpp" #include -#include +#include #include #include #include @@ -245,7 +245,7 @@ void DecoderStack::begin_decode() // We get the logic data of the first channel in the list. // This works because we are currently assuming all - // LogicSignals have the same data/snapshot + // LogicSignals have the same data/segment for (const shared_ptr &dec : stack_) if (dec && !dec->channels().empty() && ((logic_signal = (*dec->channels().begin()).second)) && @@ -255,16 +255,16 @@ void DecoderStack::begin_decode() if (!data) return; - // Check we have a snapshot of data - const deque< shared_ptr > &snapshots = - data->logic_snapshots(); - if (snapshots.empty()) + // Check we have a segment of data + const deque< shared_ptr > &segments = + data->logic_segments(); + if (segments.empty()) return; - snapshot_ = snapshots.front(); + segment_ = segments.front(); // Get the samplerate and start time - start_time_ = data->get_start_time(); - samplerate_ = data->samplerate(); + start_time_ = segment_->start_time(); + samplerate_ = segment_->samplerate(); if (samplerate_ == 0.0) samplerate_ = 1.0; @@ -272,7 +272,7 @@ void DecoderStack::begin_decode() decode_thread_ = std::thread(&DecoderStack::decode_proc, this); } -uint64_t DecoderStack::get_max_sample_count() const +uint64_t DecoderStack::max_sample_count() const { uint64_t max_sample_count = 0; @@ -301,7 +301,7 @@ void DecoderStack::decode_data( uint8_t chunk[DecodeChunkLength]; const unsigned int chunk_sample_count = - DecodeChunkLength / snapshot_->unit_size(); + DecodeChunkLength / segment_->unit_size(); for (int64_t i = 0; !interrupt_ && i < sample_count; i += chunk_sample_count) @@ -310,9 +310,9 @@ void DecoderStack::decode_data( const int64_t chunk_end = min( i + chunk_sample_count, sample_count); - snapshot_->get_samples(chunk, i, chunk_end); + segment_->get_samples(chunk, i, chunk_end); - if (srd_session_send(session, i, i + sample_count, chunk, + if (srd_session_send(session, i, chunk_end, chunk, (chunk_end - i) * unit_size) != SRD_OK) { error_message_ = tr("Decoder reported an error"); break; @@ -334,16 +334,16 @@ void DecoderStack::decode_proc() { optional sample_count; srd_session *session; - srd_decoder_inst *prev_di = NULL; + srd_decoder_inst *prev_di = nullptr; - assert(snapshot_); + assert(segment_); // Create the session srd_session_new(&session); assert(session); // Create the decoders - const unsigned int unit_size = snapshot_->unit_size(); + const unsigned int unit_size = segment_->unit_size(); for (const shared_ptr &dec : stack_) { @@ -365,7 +365,7 @@ void DecoderStack::decode_proc() // Get the intial sample count { unique_lock input_lock(input_mutex_); - sample_count = sample_count_ = snapshot_->get_sample_count(); + sample_count = sample_count_ = segment_->get_sample_count(); } // Start the session @@ -436,8 +436,8 @@ void DecoderStack::on_data_received() { { unique_lock lock(input_mutex_); - if (snapshot_) - sample_count_ = snapshot_->get_sample_count(); + if (segment_) + sample_count_ = segment_->get_sample_count(); } input_cond_.notify_one(); } @@ -446,7 +446,7 @@ void DecoderStack::on_frame_ended() { { unique_lock lock(input_mutex_); - if (snapshot_) + if (segment_) frame_complete_ = true; } input_cond_.notify_one();