KinesisManagerStatus KinesisStreamManager::InitializeVideoProducer()

in kinesis_manager/src/kinesis_stream_manager.cpp [216:236]


KinesisManagerStatus KinesisStreamManager::InitializeVideoProducer(std::string region,
    KinesisStreamManagerInterface::VideoProducerFactory video_producer_factory)
{
  unique_ptr<DeviceInfoProvider> device_provider = make_unique<DefaultDeviceInfoProvider>();
  unique_ptr<ClientCallbackProvider> client_callback_provider =
    make_unique<DefaultClientCallbackProvider>();
  unique_ptr<StreamCallbackProvider> stream_callback_provider =
    make_unique<DefaultStreamCallbackProvider>();
  unique_ptr<CredentialProvider> credentials_provider =
    std::make_unique<ProducerSdkAWSCredentialsProvider>();
  if (!credentials_provider) {
    AWS_LOG_ERROR(__func__,
                  "Credential provider is invalid, have you set the environment variables required "
                  "for AWS access?");
    return KINESIS_MANAGER_STATUS_DEFAULT_CREDENTIAL_PROVIDER_CREATION_FAILED;
  }
  return InitializeVideoProducer(
    region, std::move(device_provider), std::move(client_callback_provider),
    std::move(stream_callback_provider), std::move(credentials_provider),
    video_producer_factory);
}