Public Member Functions | Private Member Functions | Private Attributes | List of all members
librealsense::filtering_processing_block Class Reference
Inheritance diagram for librealsense::filtering_processing_block:
Inheritance graph

Public Member Functions

 filtering_processing_block (rs2_stream stream_to_pass)
 filtering_processing_block (std::initializer_list< rs2_stream > const &streams)
rs2::frame process_frame (const rs2::frame_source &source, const rs2::frame &f) override
- Public Member Functions inherited from librealsense::generic_processing_block
 generic_processing_block (const char *name)
virtual ~generic_processing_block ()
- Public Member Functions inherited from librealsense::processing_block
synthetic_source_interfaceget_source () override
void invoke (frame_holder frames) override
 processing_block (const char *name)
void set_output_callback (frame_callback_ptr callback) override
void set_processing_callback (frame_processor_callback_ptr callback) override
virtual ~processing_block ()
- Public Member Functions inherited from librealsense::processing_block_interface
virtual ~processing_block_interface ()=default
- Public Member Functions inherited from librealsense::options_interface
virtual ~options_interface ()=default
- Public Member Functions inherited from librealsense::recordable< options_interface >
virtual ~recordable ()=default
- Public Member Functions inherited from librealsense::info_interface
virtual ~info_interface ()=default
- Public Member Functions inherited from librealsense::recordable< info_interface >
virtual ~recordable ()=default
- Public Member Functions inherited from librealsense::options_container
void create_snapshot (std::shared_ptr< options_interface > &snapshot) const override
void enable_recording (std::function< void(const options_interface &)> record_action) override
optionget_option (rs2_option id) override
const optionget_option (rs2_option id) const override
std::shared_ptr< optionget_option_handler (rs2_option id)
std::shared_ptr< optionget_option_handler (rs2_option id) const
virtual const char * get_option_name (rs2_option option) const override
std::vector< rs2_optionget_supported_options () const override
void register_option (rs2_option id, std::shared_ptr< option > option)
bool supports_option (rs2_option id) const override
void unregister_option (rs2_option id)
void update (std::shared_ptr< extension_snapshot > ext) override
- Public Member Functions inherited from librealsense::extension_snapshot
virtual ~extension_snapshot ()=default
- Public Member Functions inherited from librealsense::info_container
void create_snapshot (std::shared_ptr< info_interface > &snapshot) const override
void enable_recording (std::function< void(const info_interface &)> record_action) override
const std::stringget_info (rs2_camera_info info) const override
void register_info (rs2_camera_info info, const std::string &val)
bool supports_info (rs2_camera_info info) const override
void update (std::shared_ptr< extension_snapshot > ext) override
void update_info (rs2_camera_info info, const std::string &val)

Private Member Functions

rs2::frame prepare_output (const rs2::frame_source &source, rs2::frame input, std::vector< rs2::frame > results) override
bool should_process (const rs2::frame &f) override

Private Attributes

std::vector< rs2_stream_streams

Additional Inherited Members

- Protected Attributes inherited from librealsense::processing_block
frame_processor_callback_ptr _callback
std::mutex _mutex
frame_source _source
synthetic_source _source_wrapper
- Protected Attributes inherited from librealsense::options_container
std::map< rs2_option, std::shared_ptr< option > > _options
std::function< void(const options_interface &)> _recording_function = [](const options_interface&) {}

Detailed Description

This processing block removes all frames that are not of the given stream types

This is only a workaround!!! It seems that, when definining a processing block outputs, if any other frames exist there then an issue can be exhibited where duplicate frames are produced. This solved the issue.

Definition at line 193 of file l500-device.cpp.

Constructor & Destructor Documentation

librealsense::filtering_processing_block::filtering_processing_block ( rs2_stream  stream_to_pass)

Definition at line 197 of file l500-device.cpp.

librealsense::filtering_processing_block::filtering_processing_block ( std::initializer_list< rs2_stream > const &  streams)

Definition at line 199 of file l500-device.cpp.

Member Function Documentation

rs2::frame librealsense::filtering_processing_block::prepare_output ( const rs2::frame_source source,
rs2::frame  input,
std::vector< rs2::frame results 

Reimplemented from librealsense::generic_processing_block.

Definition at line 215 of file l500-device.cpp.

rs2::frame librealsense::filtering_processing_block::process_frame ( const rs2::frame_source source,
const rs2::frame f 

Implements librealsense::generic_processing_block.

Definition at line 202 of file l500-device.cpp.

bool librealsense::filtering_processing_block::should_process ( const rs2::frame f)

Implements librealsense::generic_processing_block.

Definition at line 208 of file l500-device.cpp.

Member Data Documentation

std::vector< rs2_stream > librealsense::filtering_processing_block::_streams

Definition at line 194 of file l500-device.cpp.

The documentation for this class was generated from the following file:

Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:37