Fix #181 by changing the global decode lock into an SRD lock
[pulseview.git] / pv / data / decoderstack.hpp
index cd380dfbec22a97e3ebfc737a1fe762adff10fc2..e2bf1bd9283b1ed8c39f580f9de039915ffabd2e 100644 (file)
@@ -37,6 +37,7 @@
 
 #include <pv/data/decode/row.hpp>
 #include <pv/data/decode/rowdata.hpp>
+#include <pv/util.hpp>
 
 struct srd_decoder;
 struct srd_decoder_annotation_row;
@@ -89,7 +90,7 @@ public:
 
        double samplerate() const;
 
-       double start_time() const;
+       const pv::util::Timestamp& start_time() const;
 
        int64_t samples_decoded() const;
 
@@ -107,7 +108,7 @@ public:
 
        void clear();
 
-       uint64_t get_max_sample_count() const;
+       uint64_t max_sample_count() const;
 
        void begin_decode();
 
@@ -135,16 +136,16 @@ Q_SIGNALS:
 private:
        pv::Session &session_;
 
-       double start_time_;
+       pv::util::Timestamp start_time_;
        double samplerate_;
 
        /**
-        * This mutex prevents more than one decode operation occuring
-        * concurrently.
+        * This mutex prevents more than one thread from accessing
+        * libsigrokdecode concurrently.
         * @todo A proper solution should be implemented to allow multiple
-        * decode operations.
+        * decode operations in parallel.
         */
-       static std::mutex global_decode_mutex_;
+       static std::mutex global_srd_mutex_;
 
        std::list< std::shared_ptr<decode::Decoder> > stack_;