#include <kinesis_stream_manager.h>
|
using | VideoProducerFactory = std::function< std::unique_ptr< KinesisVideoProducerInterface >(std::string, std::unique_ptr< com::amazonaws::kinesis::video::DeviceInfoProvider >, std::unique_ptr< com::amazonaws::kinesis::video::ClientCallbackProvider >, std::unique_ptr< com::amazonaws::kinesis::video::StreamCallbackProvider >, std::unique_ptr< com::amazonaws::kinesis::video::CredentialProvider >)> |
|
|
virtual KinesisManagerStatus | FetchRekognitionResults (const std::string &stream_name, Aws::Vector< Model::Record > *records)=0 |
|
virtual void | FreeStream (std::string stream_name)=0 |
|
virtual KinesisManagerStatus | InitializeVideoProducer (std::string region, std::unique_ptr< com::amazonaws::kinesis::video::DeviceInfoProvider > device_info_provider, std::unique_ptr< com::amazonaws::kinesis::video::ClientCallbackProvider > client_callback_provider, std::unique_ptr< com::amazonaws::kinesis::video::StreamCallbackProvider > stream_callback_provider, std::unique_ptr< com::amazonaws::kinesis::video::CredentialProvider > credential_provider, VideoProducerFactory video_producer_factory=KinesisStreamManagerInterface::CreateDefaultVideoProducer)=0 |
|
virtual KinesisManagerStatus | InitializeVideoProducer (std::string region, VideoProducerFactory video_producer_factory=KinesisStreamManagerInterface::CreateDefaultVideoProducer)=0 |
|
virtual KinesisManagerStatus | InitializeVideoStream (std::unique_ptr< com::amazonaws::kinesis::video::StreamDefinition > stream_definition)=0 |
|
| KinesisStreamManagerInterface (const Aws::Client::ParameterReaderInterface *parameter_reader, const StreamDefinitionProvider *stream_definition_provider, StreamSubscriptionInstaller *subscription_installer) |
|
| KinesisStreamManagerInterface ()=default |
|
virtual KinesisManagerStatus | ProcessCodecPrivateDataForStream (const std::string &stream_name, std::vector< uint8_t > codec_private_data)=0 |
|
virtual KinesisManagerStatus | PutFrame (std::string stream_name, Frame &frame) const =0 |
|
virtual KinesisManagerStatus | PutMetadata (std::string stream_name, const std::string &name, const std::string &value) const =0 |
|
virtual | ~KinesisStreamManagerInterface ()=default |
|
|
static std::unique_ptr< KinesisVideoProducerInterface > | CreateDefaultVideoProducer (std::string region, std::unique_ptr< com::amazonaws::kinesis::video::DeviceInfoProvider > device_info_provider, std::unique_ptr< com::amazonaws::kinesis::video::ClientCallbackProvider > client_callback_provider, std::unique_ptr< com::amazonaws::kinesis::video::StreamCallbackProvider > stream_callback_provider, std::unique_ptr< com::amazonaws::kinesis::video::CredentialProvider > credential_provider) |
|
Definition at line 71 of file kinesis_stream_manager.h.
Aws::Kinesis::KinesisStreamManagerInterface::KinesisStreamManagerInterface |
( |
| ) |
|
|
default |
virtual Aws::Kinesis::KinesisStreamManagerInterface::~KinesisStreamManagerInterface |
( |
| ) |
|
|
virtualdefault |
unique_ptr< KinesisVideoProducerInterface > Aws::Kinesis::KinesisStreamManagerInterface::CreateDefaultVideoProducer |
( |
std::string |
region, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::DeviceInfoProvider > |
device_info_provider, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::ClientCallbackProvider > |
client_callback_provider, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::StreamCallbackProvider > |
stream_callback_provider, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::CredentialProvider > |
credential_provider |
|
) |
| |
|
static |
virtual KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::FetchRekognitionResults |
( |
const std::string & |
stream_name, |
|
|
Aws::Vector< Model::Record > * |
records |
|
) |
| |
|
pure virtual |
This function returns the analysis results from Rekognition for the video stream, by reading the associated Kinesis data stream.
- Parameters
-
stream_name | the name of the Kinesis video stream. |
records | will store the fetched records. |
- Returns
- KINESIS_MANAGER_STATUS_SUCCESS If the GetRecords call completed successfully.
Implemented in Aws::Kinesis::KinesisStreamManager.
virtual void Aws::Kinesis::KinesisStreamManagerInterface::FreeStream |
( |
std::string |
stream_name | ) |
|
|
pure virtual |
Loads the relevant parameters associated with the stream and fills the provided descriptor.
- Parameters
-
- Returns
- KinesisManagerStatus
Definition at line 60 of file kinesis_stream_manager.cpp.
Initializes the subscription for the stream's input.
- Parameters
-
descriptor | a subscription descriptor previously generated by GenerateStreamSubscriptionDescriptor. |
- Returns
- KinesisManagerStatus
Implemented in Aws::Kinesis::KinesisStreamManager.
virtual KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::InitializeVideoProducer |
( |
std::string |
region, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::DeviceInfoProvider > |
device_info_provider, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::ClientCallbackProvider > |
client_callback_provider, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::StreamCallbackProvider > |
stream_callback_provider, |
|
|
std::unique_ptr< com::amazonaws::kinesis::video::CredentialProvider > |
credential_provider, |
|
|
VideoProducerFactory |
video_producer_factory = KinesisStreamManagerInterface::CreateDefaultVideoProducer |
|
) |
| |
|
pure virtual |
Initializes the video producer with the given callbacks.
- Note
- This function must be called if the KinesisStreamManager is to be used for video streams.
-
This function should only be called once.
- Parameters
-
region | |
device_info_provider | |
client_callback_provider | |
stream_callback_provider | |
credential_provider | |
video_producer_factory | |
- Returns
- KinesisManagerStatus
Implemented in Aws::Kinesis::KinesisStreamManager.
Initializes the video producer using the default callbacks provided as part of the Kinesis Manager package.
- Parameters
-
region | |
video_producer_factory | |
- Returns
- KinesisManagerStatus
Implemented in Aws::Kinesis::KinesisStreamManager.
virtual KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::InitializeVideoStream |
( |
std::unique_ptr< com::amazonaws::kinesis::video::StreamDefinition > |
stream_definition | ) |
|
|
pure virtual |
Initializes a video stream using the given stream definition.
- Note
- The video producer must have been initialized before any calls to this function are made.
-
If a stream by the same name already exists in AWS Kinesis, it will be used without creating a new one.
- Parameters
-
- Returns
- KinesisManagerStatus
Implemented in Aws::Kinesis::KinesisStreamManager.
This function orchestrates the universal setup of a video streaming application.
- See also
- common.h for details about the input format for the stream definition.
- Parameters
-
parameter_reader | |
subscription_installer | responsible for subscribing to a media source and setting up callbacks that would convert/transmit the data to AWS Kinesis. |
stream_definition_provider | |
- Returns
- KinesisManagerStatus returning KINESIS_MANAGER_STATUS_SUCCESS if at least one stream was successfully bootstrapped.
Reimplemented in Aws::Kinesis::KinesisStreamManager.
Definition at line 116 of file kinesis_stream_manager.cpp.
KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::KinesisVideoStreamSetup |
( |
const uint16_t |
stream_idx, |
|
|
const PBYTE |
codec_private_data, |
|
|
const uint32_t |
codec_private_data_size, |
|
|
std::string * |
stream_name |
|
) |
| |
|
protectedvirtual |
This function orchestrates the setup of a single video stream and is called by KinesisVideoStreamerSetup.
- Parameters
-
stream_idx | |
codec_private_data | |
codec_private_data_size | |
stream_name | If not null, the stream name will be stored in this location. |
- Returns
- KinesisManagerStatus
Reimplemented in Aws::Kinesis::KinesisStreamManager.
Definition at line 35 of file kinesis_stream_manager.cpp.
virtual KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::ProcessCodecPrivateDataForStream |
( |
const std::string & |
stream_name, |
|
|
std::vector< uint8_t > |
codec_private_data |
|
) |
| |
|
pure virtual |
This function should be called whenever the codec data (sequence and picture parameter sets) have changed for the stream. Typically this would happen if encoder settings (such as fps or resolution) were changed.
- Parameters
-
stream_name | |
codec_private_data | |
- Returns
- KINESIS_MANAGER_STATUS_SUCCESS if the stream was updated successfully or if no update was necessary.
Implemented in Aws::Kinesis::KinesisStreamManager.
virtual KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::PutFrame |
( |
std::string |
stream_name, |
|
|
Frame & |
frame |
|
) |
| const |
|
pure virtual |
Transmits a single video frame into AWS Kinesis.
- Note
- Both the video producer and the given stream must have been initialized before any calls to this function are made.
- Parameters
-
- Returns
- KinesisManagerStatus
Implemented in Aws::Kinesis::KinesisStreamManager.
virtual KinesisManagerStatus Aws::Kinesis::KinesisStreamManagerInterface::PutMetadata |
( |
std::string |
stream_name, |
|
|
const std::string & |
name, |
|
|
const std::string & |
value |
|
) |
| const |
|
pure virtual |
Sends metadata to AWS Kinesis to be prepended to the next video fragment of the stream.
- Note
- Both the video producer and the given stream must have been initialized before any calls to this function are made.
- Parameters
-
stream_name | |
name | the metadata name |
value | the metadata value |
- Returns
- KinesisManagerStatus
Implemented in Aws::Kinesis::KinesisStreamManager.
The documentation for this class was generated from the following files: