Skip to content

Commit c9cd09a

Browse files
committed
Address comments
1 parent d1777b1 commit c9cd09a

File tree

2 files changed

+30
-11
lines changed

2 files changed

+30
-11
lines changed

src/gstreamer/gstkvssink.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -492,19 +492,16 @@ bool kinesis_video_stream_init(GstKvsSink *kvssink, string &err_msg) {
492492
create_kinesis_video_stream(kvssink);
493493
break;
494494
} catch (runtime_error &err) {
495+
ostringstream oss;
496+
oss << "Failed to create stream. Error: " << err.what();
497+
err_msg = oss.str();
495498

496499
// Don't retry if the error is an internal error
497500
if (STRNCMP(INTERNAL_CHECK_PREFIX, err.what(), STRLEN(INTERNAL_CHECK_PREFIX)) == 0) {
498-
ostringstream oss;
499-
oss << "Failed to create stream. Error: " << err.what();
500-
err_msg = oss.str();
501501
return false;
502502
}
503503

504504
if (--retry_count == 0) {
505-
ostringstream oss;
506-
oss << "Failed to create stream. Error: " << err.what();
507-
err_msg = oss.str();
508505
ret = false;
509506
do_retry = false;
510507
} else {

tst/gstreamer/gstkvstest.cpp

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,15 @@ GST_START_TEST(kvsproducersinkteststop)
111111
}
112112
GST_END_TEST;
113113

114-
GST_START_TEST(check_stream_name_null_handled)
114+
GST_START_TEST(check_kvssink_null_stream_name_fails_init_play)
115115
{
116116
GstElement *kinesisvideoproducersink;
117117

118118
// Setup
119119
kinesisvideoproducersink = gst_check_setup_element ("kvssink");
120120
fail_unless(kinesisvideoproducersink != nullptr, "Failed to create kvssink element");
121121

122+
// Set stream-name to null. Only possible programmatically, not through gst-parse-launch-1.0 command
122123
g_object_set(G_OBJECT (kinesisvideoproducersink),
123124
"stream-name", nullptr,
124125
NULL);
@@ -132,7 +133,7 @@ GST_START_TEST(check_stream_name_null_handled)
132133
}
133134
GST_END_TEST;
134135

135-
GST_START_TEST(check_no_pads_content_type_set_correctly)
136+
GST_START_TEST(check_kvssink_no_pads_fails_to_play)
136137
{
137138
GstElement *kinesisvideoproducersink;
138139

@@ -301,7 +302,27 @@ GST_END_TEST;
301302

302303
GST_START_TEST(test_check_credentials)
303304
{
304-
ck_abort_msg("Required environment variables (ACCESS_KEY and/or SECRET_KEY) are not set");
305+
CHAR missingVars[128] = {0};
306+
SIZE_T missingVarsLen = 0;
307+
308+
if (accessKey[0] == '\0') {
309+
SNPRINTF(missingVars + missingVarsLen, SIZEOF(missingVars) - missingVarsLen, "%s", ACCESS_KEY_ENV_VAR);
310+
missingVarsLen = STRNLEN(missingVars, SIZEOF(missingVars));
311+
}
312+
313+
if (secretKey[0] == '\0') {
314+
if (missingVarsLen > 0) {
315+
STRNCAT(missingVars, " and ", SIZEOF(missingVars) - missingVarsLen - 1);
316+
missingVarsLen = STRNLEN(missingVars, SIZEOF(missingVars));
317+
}
318+
STRNCAT(missingVars, SECRET_KEY_ENV_VAR, SIZEOF(missingVars) - missingVarsLen - 1);
319+
missingVarsLen = STRNLEN(missingVars, SIZEOF(missingVars));
320+
}
321+
322+
ck_abort_msg("Required environment variable%s %s %s not set",
323+
STRCHR(missingVars, ' ') ? "s" : "",
324+
missingVars,
325+
STRCHR(missingVars, ' ') ? "are" : "is");
305326
}
306327
GST_END_TEST;
307328

@@ -321,6 +342,7 @@ Suite *gst_kinesisvideoproducer_suite(void) {
321342
sessionToken = sessionToken ? sessionToken : "";
322343

323344
// Check if required environment variables are set
345+
// Note: Session token can be empty if permanent credentials are used
324346
if (accessKey[0] == '\0' || secretKey[0] == '\0') {
325347
TCase *tc_env = tcase_create("Credentials check");
326348
tcase_add_test_raise_signal(tc_env, test_check_credentials, SIGABRT);
@@ -330,8 +352,8 @@ Suite *gst_kinesisvideoproducer_suite(void) {
330352
return s;
331353
}
332354

333-
tcase_add_test(tc, check_stream_name_null_handled);
334-
tcase_add_test(tc, check_no_pads_content_type_set_correctly);
355+
tcase_add_test(tc, check_kvssink_null_stream_name_fails_init_play);
356+
tcase_add_test(tc, check_kvssink_no_pads_fails_to_play);
335357
tcase_add_test(tc, kvsproducersinktestplayandstop);
336358
tcase_add_test(tc, kvsproducersinktestplaytopausetoplay);
337359
tcase_add_test(tc, kvsproducersinkteststop);

0 commit comments

Comments
 (0)