Skip to content

Commit 4d5ad90

Browse files
authored
Patch the kvs sdk to not 'using namespace std' in its headers. (aws-robotics#39)
* Patch the kvs sdk to not 'using namespace std' in its headers. Resolves potential namespace collision with other libraries. Backpatch of awslabs/amazon-kinesis-video-streams-producer-sdk-cpp#541 to v1.7.8 that we are using. Signed-off-by: Emerson Knapp <[email protected]>
1 parent 5e44fb3 commit 4d5ad90

File tree

7 files changed

+481
-79
lines changed

7 files changed

+481
-79
lines changed

kinesis_manager/include/kinesis_manager/kinesis_stream_manager.h

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ class KinesisStreamManagerInterface
8080
KinesisStreamManagerInterface() = default;
8181
virtual ~KinesisStreamManagerInterface() = default;
8282

83-
using VideoProducerFactory = std::function<unique_ptr<KinesisVideoProducerInterface>(
84-
std::string,
85-
unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider>,
86-
unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider>,
87-
unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider>,
88-
unique_ptr<com::amazonaws::kinesis::video::CredentialProvider>
83+
using VideoProducerFactory = std::function<std::unique_ptr<KinesisVideoProducerInterface>(
84+
std::string,
85+
std::unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider>,
86+
std::unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider>,
87+
std::unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider>,
88+
std::unique_ptr<com::amazonaws::kinesis::video::CredentialProvider>
8989
)>;
9090

9191
/**
@@ -101,10 +101,10 @@ class KinesisStreamManagerInterface
101101
* @return KinesisManagerStatus
102102
*/
103103
virtual KinesisManagerStatus InitializeVideoProducer(std::string region,
104-
unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider> device_info_provider,
105-
unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider> client_callback_provider,
106-
unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider> stream_callback_provider,
107-
unique_ptr<com::amazonaws::kinesis::video::CredentialProvider> credential_provider,
104+
std::unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider> device_info_provider,
105+
std::unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider> client_callback_provider,
106+
std::unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider> stream_callback_provider,
107+
std::unique_ptr<com::amazonaws::kinesis::video::CredentialProvider> credential_provider,
108108
VideoProducerFactory video_producer_factory = KinesisStreamManagerInterface::CreateDefaultVideoProducer) = 0;
109109

110110
/**
@@ -126,7 +126,7 @@ class KinesisStreamManagerInterface
126126
* @return KinesisManagerStatus
127127
*/
128128
virtual KinesisManagerStatus InitializeVideoStream(
129-
unique_ptr<com::amazonaws::kinesis::video::StreamDefinition> stream_definition) = 0;
129+
std::unique_ptr<com::amazonaws::kinesis::video::StreamDefinition> stream_definition) = 0;
130130

131131
/**
132132
* Transmits a single video frame into AWS Kinesis.
@@ -179,12 +179,12 @@ class KinesisStreamManagerInterface
179179
virtual KinesisManagerStatus FetchRekognitionResults(const std::string & stream_name,
180180
Aws::Vector<Model::Record> * records) = 0;
181181

182-
static unique_ptr<KinesisVideoProducerInterface> CreateDefaultVideoProducer(
182+
static std::unique_ptr<KinesisVideoProducerInterface> CreateDefaultVideoProducer(
183183
std::string region,
184-
unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider> device_info_provider,
185-
unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider> client_callback_provider,
186-
unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider> stream_callback_provider,
187-
unique_ptr<com::amazonaws::kinesis::video::CredentialProvider> credential_provider);
184+
std::unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider> device_info_provider,
185+
std::unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider> client_callback_provider,
186+
std::unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider> stream_callback_provider,
187+
std::unique_ptr<com::amazonaws::kinesis::video::CredentialProvider> credential_provider);
188188

189189
protected:
190190
/**
@@ -251,16 +251,16 @@ class KinesisStreamManager : public KinesisStreamManagerInterface
251251
~KinesisStreamManager() = default;
252252

253253
KinesisManagerStatus InitializeVideoProducer(std::string region,
254-
unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider> device_info_provider,
255-
unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider> client_callback_provider,
256-
unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider> stream_callback_provider,
257-
unique_ptr<com::amazonaws::kinesis::video::CredentialProvider> credential_provider,
254+
std::unique_ptr<com::amazonaws::kinesis::video::DeviceInfoProvider> device_info_provider,
255+
std::unique_ptr<com::amazonaws::kinesis::video::ClientCallbackProvider> client_callback_provider,
256+
std::unique_ptr<com::amazonaws::kinesis::video::StreamCallbackProvider> stream_callback_provider,
257+
std::unique_ptr<com::amazonaws::kinesis::video::CredentialProvider> credential_provider,
258258
KinesisStreamManagerInterface::VideoProducerFactory video_producer_factory = KinesisStreamManagerInterface::CreateDefaultVideoProducer) override;
259259
KinesisManagerStatus InitializeVideoProducer(std::string region,
260260
KinesisStreamManagerInterface::VideoProducerFactory video_producer_factory = KinesisStreamManagerInterface::CreateDefaultVideoProducer) override;
261261

262262
KinesisManagerStatus InitializeVideoStream(
263-
unique_ptr<com::amazonaws::kinesis::video::StreamDefinition> stream_definition) override;
263+
std::unique_ptr<com::amazonaws::kinesis::video::StreamDefinition> stream_definition) override;
264264

265265
KinesisManagerStatus PutFrame(std::string stream_name, Frame & frame) const override;
266266

@@ -307,10 +307,10 @@ class KinesisStreamManager : public KinesisStreamManagerInterface
307307
*/
308308
KinesisManagerStatus UpdateShardIterator(const std::string & stream_name);
309309

310-
std::map<std::string, shared_ptr<KinesisVideoStreamInterface>> video_streams_;
310+
std::map<std::string, std::shared_ptr<KinesisVideoStreamInterface>> video_streams_;
311311
std::map<std::string, std::vector<uint8_t>> video_streams_codec_data_;
312-
unique_ptr<KinesisVideoProducerInterface> video_producer_;
313-
unique_ptr<KinesisClient> kinesis_client_;
312+
std::unique_ptr<KinesisVideoProducerInterface> video_producer_;
313+
std::unique_ptr<KinesisClient> kinesis_client_;
314314

315315
struct RekognitionStreamInfo
316316
{

kinesis_manager/include/kinesis_manager/stream_definition_provider.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class StreamDefinitionProvider
5959
* @param codec_private_data_size size in bytes of codec_private_data.
6060
* @return unique_ptr to StreamDefinition on success or nullptr on failure.
6161
*/
62-
virtual unique_ptr<com::amazonaws::kinesis::video::StreamDefinition>
62+
virtual std::unique_ptr<com::amazonaws::kinesis::video::StreamDefinition>
6363
GetStreamDefinition(const Aws::Client::ParameterPath & prefix,
6464
const Aws::Client::ParameterReaderInterface & reader,
6565
const PBYTE codec_private_data,

0 commit comments

Comments
 (0)