KinesisManagerStatus KinesisStreamManager::InitializeVideoProducer()

in kinesis_manager/src/kinesis_stream_manager.cpp [193:214]


KinesisManagerStatus KinesisStreamManager::InitializeVideoProducer(
  std::string region, unique_ptr<DeviceInfoProvider> device_info_provider,
  unique_ptr<ClientCallbackProvider> client_callback_provider,
  unique_ptr<StreamCallbackProvider> stream_callback_provider,
  unique_ptr<CredentialProvider> credential_provider,
  KinesisStreamManagerInterface::VideoProducerFactory video_producer_factory)
{
  if (video_producer_) {
    return KINESIS_MANAGER_STATUS_VIDEO_PRODUCER_ALREADY_INITIALIZED;
  }
  if (region.empty()) {
    AWS_LOG_ERROR(__func__,
                  "Region not provided. Check that the config file is correct and was loaded properly.");
    return KINESIS_MANAGER_STATUS_INVALID_INPUT;
  }
  if (!device_info_provider || !client_callback_provider || !stream_callback_provider || !credential_provider) {
    return KINESIS_MANAGER_STATUS_INVALID_INPUT;
  }
  video_producer_ = video_producer_factory(region, std::move(device_info_provider), std::move(client_callback_provider),
            std::move(stream_callback_provider), std::move(credential_provider));
  return KINESIS_MANAGER_STATUS_SUCCESS;
}