KinesisManagerStatus StreamerNode::Initialize()

in kinesis_video_streamer/src/streamer.cpp [64:91]


KinesisManagerStatus StreamerNode::Initialize()
{
  ClientConfigurationProvider configuration_provider(parameter_reader_);
  ClientConfiguration aws_sdk_config =
    configuration_provider.GetClientConfiguration();
  /* Set up subscription callbacks */
  if (!subscription_installer_->SetDefaultCallbacks()) {
    AWS_LOG_FATAL(__func__, "Failed to set up subscription callbacks.");
    return KINESIS_MANAGER_STATUS_ERROR_BASE;
  }
  auto kinesis_client = std::unique_ptr<KinesisClient>(
    Aws::New<Aws::Kinesis::KinesisClientFacade>(__func__, aws_sdk_config));
  stream_manager_ = std::make_shared<KinesisStreamManager>(
    parameter_reader_.get(), &stream_definition_provider_, subscription_installer_.get(),
    std::move(kinesis_client));
  subscription_installer_->set_stream_manager(stream_manager_.get());
  /* Initialization of video producer */
  KinesisManagerStatus initialize_video_producer_result =
    stream_manager_->InitializeVideoProducer(aws_sdk_config.region.c_str());
  if (KINESIS_MANAGER_STATUS_FAILED(initialize_video_producer_result)) {
    fprintf(stderr, "Failed to initialize video producer");
    AWS_LOGSTREAM_FATAL(__func__, "Failed to initialize video producer. Error code: "
                                    << initialize_video_producer_result);
    return initialize_video_producer_result;
  }
  
  return KINESIS_MANAGER_STATUS_SUCCESS;
}