add python launch file

This commit is contained in:
Joe Dong
2023-08-29 14:34:10 +08:00
parent 78dc620f33
commit a079331e75
6 changed files with 18 additions and 418 deletions
-102
View File
@@ -1,102 +0,0 @@
<launch>
<!-- unique camera name-->
<arg name="camera_name" default="camera"/>
<!-- Hardware depth registration -->
<arg name="depth_registration" default="false"/>
<arg name="serial_number" default=""/>
<arg name="device_num" default="1"/>
<arg name="usb_port" default=""/>
<arg name="vendor_id" default="0x2bc5"/>
<arg name="product_id" default=""/>
<arg name="enable_point_cloud" default="true"/>
<arg name="enable_colored_point_cloud" default="false"/>
<arg name="point_cloud_qos" default="default"/>
<arg name="connection_delay" default="100"/>
<arg name="color_width" default="640"/>
<arg name="color_height" default="480"/>
<arg name="color_fps" default="30"/>
<arg name="color_format" default="RGB"/>
<arg name="enable_color" default="true"/>
<arg name="flip_color" default="false"/>
<arg name="color_qos" default="default"/>
<arg name="color_camera_info_qos" default="default"/>
<arg name="enable_color_auto_exposure" default="true"/>
<arg name="depth_width" default="640"/>
<arg name="depth_height" default="480"/>
<arg name="depth_fps" default="30"/>
<arg name="depth_format" default="Y11"/>
<arg name="enable_depth" default="true"/>
<arg name="flip_depth" default="false"/>
<arg name="depth_qos" default="default"/>
<arg name="depth_camera_info_qos" default="default"/>
<arg name="ir_width" default="640"/>
<arg name="ir_height" default="480"/>
<arg name="ir_fps" default="30"/>
<arg name="ir_format" default="Y10"/>
<arg name="enable_ir" default="true"/>
<arg name="flip_ir" default="false"/>
<arg name="ir_qos" default="default"/>
<arg name="ir_camera_info_qos" default="default"/>
<arg name="enable_ir_auto_exposure" default="true"/>
<arg name="publish_tf" default="true"/>
<arg name="tf_publish_rate" default="10.0"/>
<arg name="ir_info_url" default=""/>
<arg name="color_info_url" default=""/>
<arg name="log_level" default="none"/>
<arg name="enable_publish_extrinsic" default="false"/>
<arg name="enable_d2c_viewer" default="false"/>
<arg name="enable_soft_filter" default="true"/>
<arg name="enable_ldp" default="true"/>
<group>
<push-ros-namespace namespace="$(var camera_name)"/>
<node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen">
<param name="camera_name" value="$(var camera_name)"/>
<param name="depth_registration" value="$(var depth_registration)"/>
<param name="serial_number" value="$(var serial_number)"/>
<param name="usb_port" value="$(var usb_port)"/>
<param name="device_num" value="$(var device_num)"/>
<param name="vendor_id" value="$(var vendor_id)"/>
<param name="product_id" value="$(var product_id)"/>
<param name="enable_point_cloud" value="$(var enable_point_cloud)"/>
<param name="enable_colored_point_cloud" value="$(var enable_colored_point_cloud)"/>
<param name="point_cloud_qos" value="$(var point_cloud_qos)"/>
<param name="connection_delay" value="$(var connection_delay)"/>
<param name="color_width" value="$(var color_width)"/>
<param name="color_height" value="$(var color_height)"/>
<param name="color_fps" value="$(var color_fps)"/>
<param name="color_format" value="$(var color_format)"/>
<param name="enable_color" value="$(var enable_color)"/>
<param name="flip_color" value="$(var flip_color)"/>
<param name="color_qos" value="$(var color_qos)"/>
<param name="color_camera_info_qos" value="$(var color_camera_info_qos)"/>
<param name="enable_color_auto_exposure" value="$(var enable_color_auto_exposure)"/>
<param name="depth_width" value="$(var depth_width)"/>
<param name="depth_height" value="$(var depth_height)"/>
<param name="depth_fps" value="$(var depth_fps)"/>
<param name="depth_format" value="$(var depth_format)"/>
<param name="flip_depth" value="$(var flip_depth)"/>
<param name="enable_depth" value="$(var enable_depth)"/>
<param name="depth_qos" value="$(var depth_qos)"/>
<param name="depth_camera_info_qos" value="$(var depth_camera_info_qos)"/>
<param name="ir_width" value="$(var ir_width)"/>
<param name="ir_height" value="$(var ir_height)"/>
<param name="ir_fps" value="$(var ir_fps)"/>
<param name="ir_format" value="$(var ir_format)"/>
<param name="enable_ir" value="$(var enable_ir)"/>
<param name="flip_ir" value="$(var flip_ir)"/>
<param name="ir_qos" value="$(var ir_qos)"/>
<param name="ir_camera_info_qos" value="$(var ir_camera_info_qos)"/>
<param name="enable_ir_auto_exposure" value="$(var enable_ir_auto_exposure)"/>
<param name="publish_tf" value="$(var publish_tf)"/>
<param name="tf_publish_rate" value="$(var tf_publish_rate)"/>
<param name="ir_info_url" value="$(var ir_info_url)"/>
<param name="color_info_url" value="$(var color_info_url)"/>
<param name="log_level" value="$(var log_level)"/>
<param name="enable_publish_extrinsic" value="$(var enable_publish_extrinsic)"/>
<param name="enable_d2c_viewer" value="$(var enable_d2c_viewer)"/>
<param name="enable_soft_filter" value="$(var enable_soft_filter)"/>
<param name="enable_ldp" value="$(var enable_ldp)"/>
<remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/>
</node>
</group>
</launch>
@@ -1,102 +0,0 @@
<launch>
<!-- unique camera name-->
<arg name="camera_name" default="camera"/>
<!-- Hardware depth registration -->
<arg name="depth_registration" default="false"/>
<arg name="serial_number" default=""/>
<arg name="usb_port" default=""/>
<arg name="device_num" default="1"/>
<arg name="vendor_id" default="0x2bc5"/>
<arg name="product_id" default=""/>
<arg name="enable_point_cloud" default="true"/>
<arg name="enable_colored_point_cloud" default="false"/>
<arg name="point_cloud_qos" default="default"/>
<arg name="connection_delay" default="100"/>
<arg name="color_width" default="640"/>
<arg name="color_height" default="480"/>
<arg name="color_fps" default="30"/>
<arg name="color_format" default="RGB888"/>
<arg name="enable_color" default="true"/>
<arg name="flip_color" default="false"/>
<arg name="color_qos" default="default"/>
<arg name="color_camera_info_qos" default="default"/>
<arg name="enable_color_auto_exposure" default="true"/>
<arg name="depth_width" default="640"/>
<arg name="depth_height" default="480"/>
<arg name="depth_fps" default="30"/>
<arg name="depth_format" default="Y11"/>
<arg name="enable_depth" default="true"/>
<arg name="flip_depth" default="false"/>
<arg name="depth_qos" default="default"/>
<arg name="depth_camera_info_qos" default="default"/>
<arg name="ir_width" default="640"/>
<arg name="ir_height" default="480"/>
<arg name="ir_fps" default="30"/>
<arg name="ir_format" default="Y10"/>
<arg name="enable_ir" default="true"/>
<arg name="flip_ir" default="false"/>
<arg name="ir_qos" default="default"/>
<arg name="ir_camera_info_qos" default="default"/>
<arg name="enable_ir_auto_exposure" default="true"/>
<arg name="publish_tf" default="true"/>
<arg name="tf_publish_rate" default="10.0"/>
<arg name="ir_info_url" default=""/>
<arg name="color_info_url" default=""/>
<arg name="log_level" default="none"/>
<arg name="enable_publish_extrinsic" default="false"/>
<arg name="enable_d2c_viewer" default="false"/>
<arg name="enable_soft_filter" default="true"/>
<arg name="enable_ldp" default="true"/>
<group>
<push-ros-namespace namespace="$(var camera_name)"/>
<node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen">
<param name="camera_name" value="$(var camera_name)"/>
<param name="depth_registration" value="$(var depth_registration)"/>
<param name="serial_number" value="$(var serial_number)"/>
<param name="usb_port" value="$(var usb_port)"/>
<param name="device_num" value="$(var device_num)"/>
<param name="vendor_id" value="$(var vendor_id)"/>
<param name="product_id" value="$(var product_id)"/>
<param name="enable_point_cloud" value="$(var enable_point_cloud)"/>
<param name="enable_colored_point_cloud" value="$(var enable_colored_point_cloud)"/>
<param name="point_cloud_qos" value="$(var point_cloud_qos)"/>
<param name="connection_delay" value="$(var connection_delay)"/>
<param name="color_width" value="$(var color_width)"/>
<param name="color_height" value="$(var color_height)"/>
<param name="color_fps" value="$(var color_fps)"/>
<param name="color_format" value="$(var color_format)"/>
<param name="enable_color" value="$(var enable_color)"/>
<param name="flip_color" value="$(var flip_color)"/>
<param name="color_qos" value="$(var color_qos)"/>
<param name="color_camera_info_qos" value="$(var color_camera_info_qos)"/>
<param name="enable_color_auto_exposure" value="$(var enable_color_auto_exposure)"/>
<param name="depth_width" value="$(var depth_width)"/>
<param name="depth_height" value="$(var depth_height)"/>
<param name="depth_fps" value="$(var depth_fps)"/>
<param name="depth_format" value="$(var depth_format)"/>
<param name="flip_depth" value="$(var flip_depth)"/>
<param name="enable_depth" value="$(var enable_depth)"/>
<param name="depth_qos" value="$(var depth_qos)"/>
<param name="depth_camera_info_qos" value="$(var depth_camera_info_qos)"/>
<param name="ir_width" value="$(var ir_width)"/>
<param name="ir_height" value="$(var ir_height)"/>
<param name="ir_fps" value="$(var ir_fps)"/>
<param name="ir_format" value="$(var ir_format)"/>
<param name="enable_ir" value="$(var enable_ir)"/>
<param name="flip_ir" value="$(var flip_ir)"/>
<param name="ir_qos" value="$(var ir_qos)"/>
<param name="ir_camera_info_qos" value="$(var ir_camera_info_qos)"/>
<param name="enable_ir_auto_exposure" value="$(var enable_ir_auto_exposure)"/>
<param name="publish_tf" value="$(var publish_tf)"/>
<param name="tf_publish_rate" value="$(var tf_publish_rate)"/>
<param name="ir_info_url" value="$(var ir_info_url)"/>
<param name="color_info_url" value="$(var color_info_url)"/>
<param name="log_level" value="$(var log_level)"/>
<param name="enable_publish_extrinsic" value="$(var enable_publish_extrinsic)"/>
<param name="enable_d2c_viewer" value="$(var enable_d2c_viewer)"/>
<param name="enable_soft_filter" value="$(var enable_soft_filter)"/>
<param name="enable_ldp" value="$(var enable_ldp)"/>
<remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/>
</node>
</group>
</launch>
@@ -1,101 +0,0 @@
<launch>
<!-- unique camera name-->
<arg name="camera_name" default="camera"/>
<!-- Hardware depth registration -->
<arg name="depth_registration" default="false"/>
<arg name="serial_number" default=""/>
<arg name="usb_port" default=""/>
<arg name="device_num" default="1"/>
<arg name="vendor_id" default="0x2bc5"/>
<arg name="product_id" default=""/>
<arg name="enable_point_cloud" default="true"/>
<arg name="enable_colored_point_cloud" default="false"/>
<arg name="point_cloud_qos" default="default"/>
<arg name="connection_delay" default="100"/>
<arg name="color_width" default="640"/>
<arg name="color_height" default="480"/>
<arg name="color_fps" default="30"/>
<arg name="color_format" default="RGB"/>
<arg name="enable_color" default="true"/>
<arg name="flip_color" default="false"/>
<arg name="color_qos" default="default"/>
<arg name="color_camera_info_qos" default="default"/>
<arg name="enable_color_auto_exposure" default="true"/>
<arg name="depth_width" default="640"/>
<arg name="depth_height" default="480"/>
<arg name="depth_fps" default="30"/>
<arg name="depth_format" default="Y11"/>
<arg name="enable_depth" default="true"/>
<arg name="flip_depth" default="false"/>
<arg name="depth_qos" default="default"/>
<arg name="depth_camera_info_qos" default="default"/>
<arg name="ir_width" default="640"/>
<arg name="ir_height" default="480"/>
<arg name="ir_fps" default="30"/>
<arg name="ir_format" default="Y10"/>
<arg name="enable_ir" default="true"/>
<arg name="flip_ir" default="false"/>
<arg name="ir_qos" default="default"/>
<arg name="ir_camera_info_qos" default="default"/>
<arg name="enable_ir_auto_exposure" default="true"/>
<arg name="publish_tf" default="true"/>
<arg name="tf_publish_rate" default="10.0"/>
<arg name="ir_info_url" default=""/>
<arg name="color_info_url" default=""/>
<arg name="log_level" default="none"/>
<arg name="enable_publish_extrinsic" default="false"/>
<arg name="enable_d2c_viewer" default="false"/>
<arg name="enable_soft_filter" default="true"/>
<arg name="enable_ldp" default="true"/>
<group>
<push-ros-namespace namespace="$(var camera_name)"/>
<node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen">
<param name="camera_name" value="$(var camera_name)"/>
<param name="depth_registration" value="$(var depth_registration)"/>
<param name="serial_number" value="$(var serial_number)"/>
<param name="device_num" value="$(var device_num)"/>
<param name="vendor_id" value="$(var vendor_id)"/>
<param name="product_id" value="$(var product_id)"/>
<param name="enable_point_cloud" value="$(var enable_point_cloud)"/>
<param name="enable_colored_point_cloud" value="$(var enable_colored_point_cloud)"/>
<param name="point_cloud_qos" value="$(var point_cloud_qos)"/>
<param name="connection_delay" value="$(var connection_delay)"/>
<param name="color_width" value="$(var color_width)"/>
<param name="color_height" value="$(var color_height)"/>
<param name="color_fps" value="$(var color_fps)"/>
<param name="color_format" value="$(var color_format)"/>
<param name="enable_color" value="$(var enable_color)"/>
<param name="flip_color" value="$(var flip_color)"/>
<param name="color_qos" value="$(var color_qos)"/>
<param name="color_camera_info_qos" value="$(var color_camera_info_qos)"/>
<param name="enable_color_auto_exposure" value="$(var enable_color_auto_exposure)"/>
<param name="depth_width" value="$(var depth_width)"/>
<param name="depth_height" value="$(var depth_height)"/>
<param name="depth_fps" value="$(var depth_fps)"/>
<param name="depth_format" value="$(var depth_format)"/>
<param name="flip_depth" value="$(var flip_depth)"/>
<param name="enable_depth" value="$(var enable_depth)"/>
<param name="depth_qos" value="$(var depth_qos)"/>
<param name="depth_camera_info_qos" value="$(var depth_camera_info_qos)"/>
<param name="ir_width" value="$(var ir_width)"/>
<param name="ir_height" value="$(var ir_height)"/>
<param name="ir_fps" value="$(var ir_fps)"/>
<param name="ir_format" value="$(var ir_format)"/>
<param name="enable_ir" value="$(var enable_ir)"/>
<param name="flip_ir" value="$(var flip_ir)"/>
<param name="ir_qos" value="$(var ir_qos)"/>
<param name="ir_camera_info_qos" value="$(var ir_camera_info_qos)"/>
<param name="enable_ir_auto_exposure" value="$(var enable_ir_auto_exposure)"/>
<param name="publish_tf" value="$(var publish_tf)"/>
<param name="tf_publish_rate" value="$(var tf_publish_rate)"/>
<param name="ir_info_url" value="$(var ir_info_url)"/>
<param name="color_info_url" value="$(var color_info_url)"/>
<param name="log_level" value="$(var log_level)"/>
<param name="enable_publish_extrinsic" value="$(var enable_publish_extrinsic)"/>
<param name="enable_d2c_viewer" value="$(var enable_d2c_viewer)"/>
<param name="enable_soft_filter" value="$(var enable_soft_filter)"/>
<param name="enable_ldp" value="$(var enable_ldp)"/>
<remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/>
</node>
</group>
</launch>
-102
View File
@@ -1,102 +0,0 @@
<launch>
<!-- unique camera name-->
<arg name="camera_name" default="camera"/>
<!-- Hardware depth registration -->
<arg name="depth_registration" default="false"/>
<arg name="serial_number" default=""/>
<arg name="usb_port" default=""/>
<arg name="device_num" default="1"/>
<arg name="vendor_id" default="0x2bc5"/>
<arg name="product_id" default=""/>
<arg name="enable_point_cloud" default="true"/>
<arg name="enable_colored_point_cloud" default="false"/>
<arg name="point_cloud_qos" default="default"/>
<arg name="connection_delay" default="100"/>
<arg name="color_width" default="640"/>
<arg name="color_height" default="480"/>
<arg name="color_fps" default="30"/>
<arg name="color_format" default="MJPG"/>
<arg name="enable_color" default="true"/>
<arg name="flip_color" default="false"/>
<arg name="color_qos" default="default"/>
<arg name="color_camera_info_qos" default="default"/>
<arg name="enable_color_auto_exposure" default="true"/>
<arg name="depth_width" default="640"/>
<arg name="depth_height" default="480"/>
<arg name="depth_fps" default="30"/>
<arg name="depth_format" default="Y16"/>
<arg name="enable_depth" default="true"/>
<arg name="flip_depth" default="false"/>
<arg name="depth_qos" default="default"/>
<arg name="depth_camera_info_qos" default="default"/>
<arg name="ir_width" default="640"/>
<arg name="ir_height" default="480"/>
<arg name="ir_fps" default="30"/>
<arg name="ir_format" default="Y16"/>
<arg name="enable_ir" default="true"/>
<arg name="flip_ir" default="false"/>
<arg name="ir_qos" default="default"/>
<arg name="ir_camera_info_qos" default="default"/>
<arg name="enable_ir_auto_exposure" default="true"/>
<arg name="publish_tf" default="true"/>
<arg name="tf_publish_rate" default="10.0"/>
<arg name="ir_info_url" default=""/>
<arg name="color_info_url" default=""/>
<arg name="log_level" default="none"/>
<arg name="enable_publish_extrinsic" default="false"/>
<arg name="enable_d2c_viewer" default="false"/>
<arg name="enable_soft_filter" default="true"/>
<arg name="enable_ldp" default="true"/>
<group>
<push-ros-namespace namespace="$(var camera_name)"/>
<node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen">
<param name="camera_name" value="$(var camera_name)"/>
<param name="depth_registration" value="$(var depth_registration)"/>
<param name="serial_number" value="$(var serial_number)"/>
<param name="usb_port" value="$(var usb_port)"/>
<param name="device_num" value="$(var device_num)"/>
<param name="vendor_id" value="$(var vendor_id)"/>
<param name="product_id" value="$(var product_id)"/>
<param name="enable_point_cloud" value="$(var enable_point_cloud)"/>
<param name="enable_colored_point_cloud" value="$(var enable_colored_point_cloud)"/>
<param name="point_cloud_qos" value="$(var point_cloud_qos)"/>
<param name="connection_delay" value="$(var connection_delay)"/>
<param name="color_width" value="$(var color_width)"/>
<param name="color_height" value="$(var color_height)"/>
<param name="color_fps" value="$(var color_fps)"/>
<param name="color_format" value="$(var color_format)"/>
<param name="enable_color" value="$(var enable_color)"/>
<param name="flip_color" value="$(var flip_color)"/>
<param name="color_qos" value="$(var color_qos)"/>
<param name="color_camera_info_qos" value="$(var color_camera_info_qos)"/>
<param name="enable_color_auto_exposure" value="$(var enable_color_auto_exposure)"/>
<param name="depth_width" value="$(var depth_width)"/>
<param name="depth_height" value="$(var depth_height)"/>
<param name="depth_fps" value="$(var depth_fps)"/>
<param name="depth_format" value="$(var depth_format)"/>
<param name="flip_depth" value="$(var flip_depth)"/>
<param name="enable_depth" value="$(var enable_depth)"/>
<param name="depth_qos" value="$(var depth_qos)"/>
<param name="depth_camera_info_qos" value="$(var depth_camera_info_qos)"/>
<param name="ir_width" value="$(var ir_width)"/>
<param name="ir_height" value="$(var ir_height)"/>
<param name="ir_fps" value="$(var ir_fps)"/>
<param name="ir_format" value="$(var ir_format)"/>
<param name="enable_ir" value="$(var enable_ir)"/>
<param name="flip_ir" value="$(var flip_ir)"/>
<param name="ir_qos" value="$(var ir_qos)"/>
<param name="ir_camera_info_qos" value="$(var ir_camera_info_qos)"/>
<param name="enable_ir_auto_exposure" value="$(var enable_ir_auto_exposure)"/>
<param name="publish_tf" value="$(var publish_tf)"/>
<param name="tf_publish_rate" value="$(var tf_publish_rate)"/>
<param name="ir_info_url" value="$(var ir_info_url)"/>
<param name="color_info_url" value="$(var color_info_url)"/>
<param name="log_level" value="$(var log_level)"/>
<param name="enable_publish_extrinsic" value="$(var enable_publish_extrinsic)"/>
<param name="enable_d2c_viewer" value="$(var enable_d2c_viewer)"/>
<param name="enable_soft_filter" value="$(var enable_soft_filter)"/>
<param name="enable_ldp" value="$(var enable_ldp)"/>
<remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/>
</node>
</group>
</launch>
+13 -6
View File
@@ -1,5 +1,6 @@
#include "orbbec_camera/gst_decoder.h" #include "orbbec_camera/gst_decoder.h"
#include <rclcpp/rclcpp.hpp> #include <rclcpp/rclcpp.hpp>
#include <utility>
#include <gst/app/gstappsrc.h> #include <gst/app/gstappsrc.h>
#include <gst/app/gstappsink.h> #include <gst/app/gstappsink.h>
#include <glog/logging.h> #include <glog/logging.h>
@@ -20,9 +21,12 @@ std::string hwDecoderToString(HWDecoder hw_decoder) {
} }
} }
GstreamerMjpegDecoder::GstreamerMjpegDecoder(int width, int height, HWDecoder hw_decoder) GstreamerMjpegDecoder::GstreamerMjpegDecoder(int width, int height, std::string jpeg_decoder,
std::string video_convert, std::string jpeg_parse)
: MjpegDecoder(width, height), : MjpegDecoder(width, height),
hw_decoder_(hwDecoderToString(hw_decoder)), jpeg_decoder_(std::move(jpeg_decoder)),
video_convert_(std::move(video_convert)),
jpeg_parse_(std::move(jpeg_parse)),
buffer_size_(width * height * 3) { buffer_size_(width * height * 3) {
gst_init(NULL, NULL); gst_init(NULL, NULL);
buffer_pool_ = gst_buffer_pool_new(); buffer_pool_ = gst_buffer_pool_new();
@@ -30,7 +34,7 @@ GstreamerMjpegDecoder::GstreamerMjpegDecoder(int width, int height, HWDecoder hw
GstStructure* config = gst_buffer_pool_get_config(buffer_pool_); GstStructure* config = gst_buffer_pool_get_config(buffer_pool_);
CHECK_NOTNULL(config); CHECK_NOTNULL(config);
gst_buffer_pool_config_set_params(config, NULL, buffer_size_, 0, 0); gst_buffer_pool_config_set_params(config, NULL, buffer_size_, 0, 0);
if (hw_decoder_ == "unknown") { if (jpeg_decoder_ == "unknown") {
RCLCPP_ERROR_STREAM(rclcpp::get_logger("gstreamer_mjpeg_decoder"), "hw decoder is unknown"); RCLCPP_ERROR_STREAM(rclcpp::get_logger("gstreamer_mjpeg_decoder"), "hw decoder is unknown");
throw std::runtime_error("hw decoder is unknown"); throw std::runtime_error("hw decoder is unknown");
} }
@@ -45,10 +49,13 @@ GstreamerMjpegDecoder::GstreamerMjpegDecoder(int width, int height, HWDecoder hw
throw std::runtime_error("gst buffer pool set active error"); throw std::runtime_error("gst buffer pool set active error");
} }
// Create GStreamer elements // Create GStreamer elements
RCLCPP_INFO_STREAM(rclcpp::get_logger("gstreamer_mjpeg_decoder"),
"hw decoder: " << jpeg_decoder_ << ", video convert: " << video_convert_
<< ", jpeg parse: " << jpeg_parse_);
appsrc_ = gst_element_factory_make("appsrc", "appsrc"); appsrc_ = gst_element_factory_make("appsrc", "appsrc");
jpegparse_ = gst_element_factory_make("jpegparse", "jpegparse"); jpegparse_ = gst_element_factory_make(jpeg_parse_.c_str(), jpeg_parse_.c_str());
jpegdec_ = gst_element_factory_make(hw_decoder_.c_str(), hw_decoder_.c_str()); jpegdec_ = gst_element_factory_make(jpeg_decoder_.c_str(), jpeg_decoder_.c_str());
videoconvert_ = gst_element_factory_make("videoconvert", "videoconvert"); videoconvert_ = gst_element_factory_make(video_convert_.c_str(), video_convert_.c_str());
appsink_ = gst_element_factory_make("appsink", "appsink"); appsink_ = gst_element_factory_make("appsink", "appsink");
// Check for null pointers // Check for null pointers
+5 -5
View File
@@ -50,8 +50,8 @@ OBCameraNode::OBCameraNode(rclcpp::Node *node, std::shared_ptr<ob::Device> devic
#if defined(USE_RK_HW_DECODER) #if defined(USE_RK_HW_DECODER)
mjpeg_decoder_ = std::make_unique<RKMjpegDecoder>(width_[COLOR], height_[COLOR]); mjpeg_decoder_ = std::make_unique<RKMjpegDecoder>(width_[COLOR], height_[COLOR]);
#elif defined(USE_GST_HW_DECODER) #elif defined(USE_GST_HW_DECODER)
mjpeg_decoder_ = mjpeg_decoder_ = std::make_unique<GstreamerMjpegDecoder>(
std::make_unique<GstreamerMjpegDecoder>(width_[COLOR], height_[COLOR], hw_decoder_); width_[COLOR], height_[COLOR], jpeg_decoder_, video_convert_, jpeg_parse_);
#endif #endif
startStreams(); startStreams();
if (enable_d2c_viewer_) { if (enable_d2c_viewer_) {
@@ -428,9 +428,9 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<int>(soft_filter_speckle_size_, "soft_filter_speckle_size", -1); setAndGetNodeParameter<int>(soft_filter_speckle_size_, "soft_filter_speckle_size", -1);
setAndGetNodeParameter<double>(liner_accel_cov_, "linear_accel_cov", 0.0003); setAndGetNodeParameter<double>(liner_accel_cov_, "linear_accel_cov", 0.0003);
setAndGetNodeParameter<double>(angular_vel_cov_, "angular_vel_cov", 0.02); setAndGetNodeParameter<double>(angular_vel_cov_, "angular_vel_cov", 0.02);
int hw_decoder = 0; setAndGetNodeParameter<std::string>(jpeg_decoder_, "jpeg_decoder", "avdec_mjpeg");
setAndGetNodeParameter<int>(hw_decoder, "hw_decoder", 3); setAndGetNodeParameter<std::string>(video_convert_, "video_convert", "videoconvert");
hw_decoder_ = static_cast<HWDecoder>(hw_decoder); setAndGetNodeParameter<std::string>(jpeg_parse_, "jpeg_parse", "jpegparse");
} }
void OBCameraNode::setupTopics() { void OBCameraNode::setupTopics() {