#include <pv/data/logic.h>
#include <pv/data/logicsnapshot.h>
#include <pv/data/decode/decoder.h>
#include <pv/data/logic.h>
#include <pv/data/logicsnapshot.h>
#include <pv/data/decode/decoder.h>
-const vector< shared_ptr<view::decode::Annotation> >
- DecoderStack::annotations() const
+int64_t DecoderStack::samples_decoded() const
+{
+ lock_guard<mutex> decode_lock(_mutex);
+ return _samples_decoded;
+}
+
+const vector<decode::Annotation> DecoderStack::annotations() const
BOOST_FOREACH (const shared_ptr<decode::Decoder> &dec, _stack)
if (dec && !dec->probes().empty() &&
((logic_signal = (*dec->probes().begin()).second)) &&
BOOST_FOREACH (const shared_ptr<decode::Decoder> &dec, _stack)
if (dec && !dec->probes().empty() &&
((logic_signal = (*dec->probes().begin()).second)) &&
- const int64_t sample_count = snapshot->get_sample_count() - 1;
+ const int64_t sample_count = snapshot->get_sample_count();
+ const unsigned int chunk_sample_count =
+ DecodeChunkLength / snapshot->unit_size();
+
+ // Clear error message upon every new session run
+ _error_message = QString();
snapshot->get_samples(chunk, i, chunk_end);
if (srd_session_send(session, i, i + sample_count,
chunk, chunk_end - i) != SRD_OK) {
snapshot->get_samples(chunk, i, chunk_end);
if (srd_session_send(session, i, i + sample_count,
chunk, chunk_end - i) != SRD_OK) {