74 typedef std::function<void(frame_holder, const syncronization_environment&)>
sync_callback;
81 virtual void set_callback(sync_callback f) = 0;
82 virtual const std::vector<stream_id>& get_streams()
const = 0;
83 virtual const std::vector<rs2_stream>& get_streams_types()
const = 0;
85 virtual void stop() = 0;
91 matcher(std::vector<stream_id> streams_id = {});
93 virtual void set_callback(sync_callback f)
override;
94 const std::vector<stream_id>& get_streams()
const override;
95 const std::vector<rs2_stream>& get_streams_types()
const override;
101 bool get_active()
const;
102 void set_active(
const bool active);
103 virtual void stop()
override {}
136 std::string frames_to_string(std::vector<librealsense::matcher*> matchers);
138 std::shared_ptr<matcher> find_matcher(
const frame_holder& f);
139 virtual void stop()
override;
143 virtual void update_next_expected(
const frame_holder& f) = 0;
145 std::map<matcher*, single_consumer_frame_queue<frame_holder>>
_frames_queue;
146 std::map<stream_id, std::shared_ptr<matcher>>
_matchers;
177 void update_next_expected(
const frame_holder& f)
override;
192 void update_next_expected(
const frame_holder & f)
override;
196 bool are_equivalent(
double a,
double b,
int fps);
198 std::map<matcher*, unsigned int>
_fps;
GLboolean GLboolean GLboolean b
std::map< matcher *, double > _next_expected
GLuint const GLchar * name
virtual bool skip_missing_stream(std::vector< matcher * > synced, matcher *missing, const syncronization_environment &env) override
syncronization_environment(synthetic_source_interface *source, single_consumer_frame_queue< frame_holder > &matches, bool log)
virtual bool is_smaller_than(frame_holder &a, frame_holder &b) override
virtual void clean_inactive_streams(frame_holder &f) override
std::function< void(frame_holder, const syncronization_environment &)> sync_callback
sync_lock(std::mutex &mutex)
virtual void stop() override
std::vector< rs2_stream > _streams_type
virtual void update_next_expected(const frame_holder &f) override
GLsizei const GLchar *const * string
static const textual_icon stop
GLboolean GLboolean GLboolean GLboolean a
std::map< stream_id, std::shared_ptr< matcher > > _matchers
callbacks_heap _callback_inflight
single_consumer_frame_queue< frame_holder > & matches
void unlock_preemptively()
virtual bool are_equivalent(frame_holder &a, frame_holder &b) override
synthetic_source_interface * source
std::map< matcher *, single_consumer_frame_queue< frame_holder > > _frames_queue
rs2_stream
Streams are different types of data provided by RealSense devices.
virtual void update_last_arrived(frame_holder &f, matcher *m) override
std::map< matcher *, rs2_timestamp_domain > _next_expected_domain
std::map< matcher *, unsigned long long > _last_arrived
std::map< matcher *, double > _last_arrived
void log(std::string message)
GLsizei GLsizei GLchar * source
std::map< matcher *, unsigned int > _fps
std::vector< stream_id > _streams_id