in h264_video_encoder/src/h264_video_encoder.cpp [158:189]
AwsError RunEncoderNode(int argc, char ** argv)
{
rclcpp::init(argc, argv);
rclcpp::NodeOptions node_options;
node_options.allow_undeclared_parameters(true);
node_options.automatically_declare_parameters_from_overrides(true);
auto node = rclcpp::Node::make_shared("h264_video_encoder", node_options);
Aws::Utils::Logging::InitializeAWSLogging(Aws::MakeShared<Aws::Utils::Logging::AWSROSLogger>(
"h264_video_encoder", Aws::Utils::Logging::LogLevel::Trace, node));
AWS_LOG_INFO(__func__, "Starting H264 Video Node...");
std::shared_ptr<rclcpp::Publisher<kinesis_video_msgs::msg::KinesisVideoFrame>> pub;
std::shared_ptr<rclcpp::Subscription<kinesis_video_msgs::msg::KinesisImageMetadata>> metadata_sub;
image_transport::Subscriber image_sub;
std::unique_ptr<H264Encoder> encoder;
uint64_t frame_num = 0;
kinesis_video_msgs::msg::KinesisImageMetadata metadata;
Aws::Client::Ros2NodeParameterReader param_reader(node);
InitializeCommunication(node, metadata_sub, image_sub, pub,
encoder, frame_num, metadata, param_reader);
//
// run the node
//
rclcpp::spin(node);
AWS_LOG_INFO(__func__, "Shutting down H264 Video Node...");
Aws::Utils::Logging::ShutdownAWSLogging();
return AWS_ERR_OK;
}