src
pipeline
aggregator.h
Go to the documentation of this file.
1
// License: Apache 2.0. See LICENSE file in root directory.
2
// Copyright(c) 2015 Intel Corporation. All Rights Reserved.
3
4
#pragma once
5
6
#include "
sync.h
"
7
#include "
proc/synthetic-stream.h
"
8
#include "
proc/syncer-processing-block.h
"
9
10
namespace
librealsense
11
{
12
namespace
pipeline
13
{
14
class
aggregator
:
public
processing_block
15
{
16
std::mutex
_mutex
;
17
std::map<stream_id, frame_holder>
_last_set
;
18
std::unique_ptr<single_consumer_frame_queue<frame_holder>>
_queue
;
19
std::vector<int>
_streams_to_aggregate_ids
;
20
std::vector<int>
_streams_to_sync_ids
;
21
std::atomic<bool>
_accepting
;
22
void
handle_frame
(
frame_holder
frame
,
synthetic_source_interface
*
source
);
23
public
:
24
aggregator
(
const
std::vector<int>& streams_to_aggregate,
const
std::vector<int>& streams_to_sync);
25
bool
dequeue
(
frame_holder
* item,
unsigned
int
timeout_ms);
26
bool
try_dequeue
(
frame_holder
* item);
27
void
start
();
28
void
stop
();
29
};
30
}
31
}
librealsense
Definition:
calibration-model.h:9
sync.h
librealsense::frame_holder
Definition:
frame.h:148
librealsense::pipeline::aggregator::_queue
std::unique_ptr< single_consumer_frame_queue< frame_holder > > _queue
Definition:
aggregator.h:18
librealsense::synthetic_source_interface
Definition:
processing.h:19
librealsense::pipeline::aggregator::stop
void stop()
Definition:
aggregator.cpp:120
librealsense::pipeline::aggregator::try_dequeue
bool try_dequeue(frame_holder *item)
Definition:
aggregator.cpp:110
librealsense::pipeline::aggregator::_streams_to_sync_ids
std::vector< int > _streams_to_sync_ids
Definition:
aggregator.h:20
synthetic-stream.h
librealsense::pipeline::aggregator::start
void start()
Definition:
aggregator.cpp:115
librealsense::pipeline::aggregator::aggregator
aggregator(const std::vector< int > &streams_to_aggregate, const std::vector< int > &streams_to_sync)
Definition:
aggregator.cpp:12
source
GLsizei GLsizei GLchar * source
Definition:
glad/glad/glad.h:2828
librealsense::frame
Definition:
frame.h:187
librealsense::pipeline::aggregator::dequeue
bool dequeue(frame_holder *item, unsigned int timeout_ms)
Definition:
aggregator.cpp:105
test-d405-calibration-stream.pipeline
pipeline
Definition:
test-d405-calibration-stream.py:21
librealsense::pipeline::aggregator::_streams_to_aggregate_ids
std::vector< int > _streams_to_aggregate_ids
Definition:
aggregator.h:19
librealsense::pipeline::aggregator
Definition:
aggregator.h:14
librealsense::pipeline::aggregator::_mutex
std::mutex _mutex
Definition:
aggregator.h:16
librealsense::processing_block
Definition:
synthetic-stream.h:48
librealsense::pipeline::aggregator::_last_set
std::map< stream_id, frame_holder > _last_set
Definition:
aggregator.h:17
librealsense::pipeline::aggregator::_accepting
std::atomic< bool > _accepting
Definition:
aggregator.h:21
librealsense::pipeline::aggregator::handle_frame
void handle_frame(frame_holder frame, synthetic_source_interface *source)
Definition:
aggregator.cpp:28
syncer-processing-block.h
librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Thu Dec 22 2022 03:13:13