4 #ifndef LIBREALSENSE_RS2_PIPELINE_HPP 5 #define LIBREALSENSE_RS2_PIPELINE_HPP 31 std::vector<stream_profile> results;
34 std::shared_ptr<rs2_stream_profile_list> list(
42 for (
auto i = 0; i < size; i++)
46 results.push_back(profile);
64 if (s.stream_type() == stream_type && (stream_index == -1 || s.stream_index() == stream_index))
69 throw std::runtime_error(
"Profile does not contain the requested stream");
86 std::shared_ptr<rs2_device> dev(
100 operator bool()
const 102 return _pipeline_profile !=
nullptr;
107 _pipeline_profile(profile)
111 std::shared_ptr<rs2_pipeline_profile> _pipeline_profile;
131 _config = std::shared_ptr<rs2_config>(
173 enable_stream(stream_type, -1, width, height, format, framerate);
185 enable_stream(stream_type, stream_index, 0, 0, format, framerate);
292 auto profile = std::shared_ptr<rs2_pipeline_profile>(
315 std::shared_ptr<rs2_config>
get()
const 323 std::shared_ptr<rs2_config> _config;
349 _pipeline = std::shared_ptr<rs2_pipeline>(
369 auto p = std::shared_ptr<rs2_pipeline_profile>(
398 auto p = std::shared_ptr<rs2_pipeline_profile>(
463 throw std::invalid_argument(
"null frameset");
486 auto p = std::shared_ptr<rs2_pipeline_profile>(
494 operator std::shared_ptr<rs2_pipeline>()
const 501 std::shared_ptr<rs2_pipeline> _pipeline;
505 #endif // LIBREALSENSE_RS2_PROCESSING_HPP Definition: rs_frame.hpp:21
stream_profile get_stream(rs2_stream stream_type, int stream_index=-1) const
Definition: rs_pipeline.hpp:60
int rs2_pipeline_poll_for_frames(rs2_pipeline *pipe, rs2_frame **output_frame, rs2_error **error)
void rs2_config_enable_device(rs2_config *config, const char *serial, rs2_error **error)
Definition: rs_pipeline.hpp:125
Definition: rs_frame.hpp:202
void stop()
Definition: rs_pipeline.hpp:414
pipeline_profile resolve(std::shared_ptr< rs2_pipeline > p) const
Definition: rs_pipeline.hpp:289
bool poll_for_frames(frameset *f) const
Definition: rs_pipeline.hpp:459
pipeline_profile start(const config &config)
Definition: rs_pipeline.hpp:395
Definition: rs_pipeline.hpp:18
rs2_pipeline_profile * rs2_pipeline_start(rs2_pipeline *pipe, rs2_error **error)
void rs2_config_enable_all_stream(rs2_config *config, rs2_error **error)
void rs2_delete_device(rs2_device *device)
rs2_pipeline * rs2_create_pipeline(rs2_context *ctx, rs2_error **error)
pipeline(context ctx=context())
Definition: rs_pipeline.hpp:345
Definition: rs_frame.hpp:630
Definition: rs_context.hpp:11
void enable_device(const std::string &serial)
Definition: rs_pipeline.hpp:209
rs2_pipeline_profile * rs2_pipeline_get_active_profile(rs2_pipeline *pipe, rs2_error **error)
std::shared_ptr< rs2_config > get() const
Definition: rs_pipeline.hpp:315
void rs2_delete_config(rs2_config *config)
Definition: rs_context.hpp:78
void enable_stream(rs2_stream stream_type, int stream_index, rs2_format format, int framerate=0)
Definition: rs_pipeline.hpp:183
rs2_device * rs2_pipeline_profile_get_device(rs2_pipeline_profile *profile, rs2_error **error)
rs2_pipeline_profile * rs2_config_resolve(rs2_config *config, rs2_pipeline *pipe, rs2_error **error)
rs2_stream_profile_list * rs2_pipeline_profile_get_streams(rs2_pipeline_profile *profile, rs2_error **error)
rs2_frame * rs2_pipeline_wait_for_frames(rs2_pipeline *pipe, unsigned int timeout_ms, rs2_error **error)
void rs2_config_enable_stream(rs2_config *config, rs2_stream stream, int index, int width, int height, rs2_format format, int framerate, rs2_error **error)
void disable_all_streams()
Definition: rs_pipeline.hpp:264
std::vector< stream_profile > get_streams() const
Definition: rs_pipeline.hpp:29
device get_device() const
Definition: rs_pipeline.hpp:83
const rs2_stream_profile * rs2_get_stream_profile(const rs2_stream_profile_list *list, int index, rs2_error **error)
void disable_stream(rs2_stream stream, int index=-1)
Definition: rs_pipeline.hpp:252
Definition: rs_sensor.h:57
rs2_format
Format identifies how binary data is encoded within a frame.
Definition: rs_sensor.h:55
pipeline_profile get_active_profile() const
Definition: rs_pipeline.hpp:483
void enable_all_streams()
Definition: rs_pipeline.hpp:194
void enable_stream(rs2_stream stream_type, int stream_index, int width, int height, rs2_format format=RS2_FORMAT_ANY, int framerate=0)
Definition: rs_pipeline.hpp:157
static void handle(rs2_error *e)
Definition: rs_types.hpp:121
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:38
rs2_pipeline_profile * rs2_pipeline_start_with_config(rs2_pipeline *pipe, rs2_config *config, rs2_error **error)
config()
Definition: rs_pipeline.hpp:128
Definition: rs_pipeline.hpp:335
void enable_stream(rs2_stream stream_type, int width, int height, rs2_format format=RS2_FORMAT_ANY, int framerate=0)
Definition: rs_pipeline.hpp:171
void enable_record_to_file(const std::string &file_name)
Definition: rs_pipeline.hpp:238
void rs2_config_enable_device_from_file_repeat_option(rs2_config *config, const char *file, int repeat_playback, rs2_error **error)
void rs2_delete_stream_profiles_list(rs2_stream_profile_list *list)
void rs2_pipeline_stop(rs2_pipeline *pipe, rs2_error **error)
frameset wait_for_frames(unsigned int timeout_ms=5000) const
Definition: rs_pipeline.hpp:436
void enable_stream(rs2_stream stream_type, int stream_index=-1)
Definition: rs_pipeline.hpp:165
void rs2_config_disable_indexed_stream(rs2_config *config, rs2_stream stream, int index, rs2_error **error)
void rs2_config_enable_record_to_file(rs2_config *config, const char *file, rs2_error **error)
void enable_device_from_file(const std::string &file_name, bool repeat_playback=true)
Definition: rs_pipeline.hpp:224
void rs2_config_disable_all_streams(rs2_config *config, rs2_error **error)
rs2_config * rs2_create_config(rs2_error **error)
pipeline_profile start()
Definition: rs_pipeline.hpp:366
int rs2_get_stream_profiles_count(const rs2_stream_profile_list *list, rs2_error **error)
bool can_resolve(std::shared_ptr< rs2_pipeline > p) const
Definition: rs_pipeline.hpp:307
struct rs2_error rs2_error
Definition: rs_types.h:149
int rs2_config_can_resolve(rs2_config *config, rs2_pipeline *pipe, rs2_error **error)
Definition: rs_device.hpp:18
void rs2_delete_pipeline_profile(rs2_pipeline_profile *profile)
void rs2_delete_pipeline(rs2_pipeline *pipe)
struct rs2_frame rs2_frame
Definition: rs_types.h:151
pipeline_profile()
Definition: rs_pipeline.hpp:22
void enable_stream(rs2_stream stream_type, rs2_format format, int framerate=0)
Definition: rs_pipeline.hpp:177