+void DecoderStack::remove(int index)
+{
+ using pv::data::decode::Decoder;
+
+ assert(index >= 0);
+ assert(index < (int)_stack.size());
+
+ // Find the decoder in the stack
+ list< shared_ptr<Decoder> >::iterator iter = _stack.begin();
+ for(int i = 0; i < index; i++, iter++)
+ assert(iter != _stack.end());
+
+ // Delete the element
+ _stack.erase(iter);
+}
+
+int64_t DecoderStack::samples_decoded() const
+{
+ lock_guard<mutex> decode_lock(_mutex);
+ return _samples_decoded;
+}
+
+const vector<decode::Annotation> DecoderStack::annotations() const