16 #include <log4cplus/configurator.h> 18 #include <aws/core/Aws.h> 19 #include <aws/core/utils/logging/LogMacros.h> 33 #ifndef RETURN_CODE_MASK 34 #define RETURN_CODE_MASK (0xff) 37 #ifndef UNKNOWN_ERROR_KINESIS_VIDEO_EXIT_CODE 38 #define UNKNOWN_ERROR_KINESIS_VIDEO_EXIT_CODE (0xf0) 41 constexpr
char kNodeName[] =
"kinesis_video_streamer";
47 StreamerNode::StreamerNode(
const std::string & ns = std::string()) :
ros::NodeHandle(ns)
56 if (!log4cplus_config.empty()) {
57 log4cplus::PropertyConfigurator::doConfigure(log4cplus_config);
59 log4cplus::BasicConfigurator configurator;
60 configurator.configure();
67 ClientConfiguration aws_sdk_config =
71 AWS_LOG_FATAL(__func__,
"Failed to set up subscription callbacks.");
74 auto kinesis_client = std::unique_ptr<KinesisClient>(
75 Aws::New<Aws::Kinesis::KinesisClientFacade>(__func__, aws_sdk_config));
78 std::move(kinesis_client));
82 stream_manager_->InitializeVideoProducer(aws_sdk_config.region.c_str());
84 fprintf(stderr,
"Failed to initialize video producer");
85 AWS_LOGSTREAM_FATAL(__func__,
"Failed to initialize video producer. Error code: " 86 << initialize_video_producer_result);
87 return initialize_video_producer_result;
98 AWS_LOG_DEBUG(__func__,
"KinesisVideoStreamerSetup completed successfully.");
100 fprintf(stderr,
"Failed to setup the kinesis video streamer");
101 AWS_LOGSTREAM_ERROR(__func__,
"KinesisVideoStreamerSetup failed with error code : " 102 << streamer_setup_result <<
". Exiting");
103 return streamer_setup_result;
112 int spinner_thread_count_input;
113 if (Aws::AwsError::AWS_ERR_OK ==
115 spinner_thread_count_input)) {
116 spinner_thread_count =
static_cast<uint32_t
>(spinner_thread_count_input);
KINESIS_MANAGER_STATUS_SUCCESS
void set_subscription_installer(std::shared_ptr< RosStreamSubscriptionInstaller > subscription_installer)
constexpr uint32_t kDefaultNumberOfSpinnerThreads
#define KINESIS_MANAGER_STATUS_FAILED(status)
std::shared_ptr< KinesisStreamManager > stream_manager_
enum Aws::Kinesis::kinesis_manager_status_e KinesisManagerStatus
#define KINESIS_MANAGER_STATUS_SUCCEEDED(status)
std::shared_ptr< Aws::Client::ParameterReaderInterface > parameter_reader_
StreamDefinitionProvider stream_definition_provider_
const char * kSpinnerThreadCountOverrideParameter
KinesisManagerStatus Initialize()
std::shared_ptr< RosStreamSubscriptionInstaller > subscription_installer_
KinesisManagerStatus InitializeStreamSubscriptions()
KINESIS_MANAGER_STATUS_ERROR_BASE
virtual void spin(CallbackQueue *queue=0)
Aws::Client::ParameterPath GetKinesisVideoParameter(const char *parameter_name)
ClientConfiguration GetClientConfiguration(const std::string &ros_version_override="")
constexpr char kNodeName[]
const char * log4cplus_config