Skip to content

Commit c9cfb67

Browse files
committed
cleanup sample application and add generate-images to attributes for kvssink
1 parent 384a12f commit c9cfb67

File tree

2 files changed

+28
-25
lines changed

2 files changed

+28
-25
lines changed

samples/kvssink_gstreamer_sample.cpp

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -256,17 +256,17 @@ void determine_credentials(GstElement *kvssink, CustomData *data) {
256256
nullptr != (private_key_path = getenv("PRIVATE_KEY_PATH")) &&
257257
nullptr != (role_alias = getenv("ROLE_ALIAS")) &&
258258
nullptr != (ca_cert_path = getenv("CA_CERT_PATH"))) {
259-
// set the IoT Credentials if provided in envvar
260-
GstStructure *iot_credentials = gst_structure_new(
261-
"iot-certificate",
262-
"iot-thing-name", G_TYPE_STRING, data->stream_name,
263-
"endpoint", G_TYPE_STRING, iot_credential_endpoint,
264-
"cert-path", G_TYPE_STRING, cert_path,
265-
"key-path", G_TYPE_STRING, private_key_path,
266-
"ca-path", G_TYPE_STRING, ca_cert_path,
267-
"role-aliases", G_TYPE_STRING, role_alias, NULL);
268-
269-
g_object_set(G_OBJECT (kvssink), "iot-certificate", iot_credentials, NULL);
259+
// set the IoT Credentials if provided in envvar
260+
GstStructure *iot_credentials = gst_structure_new(
261+
"iot-certificate",
262+
"iot-thing-name", G_TYPE_STRING, data->stream_name,
263+
"endpoint", G_TYPE_STRING, iot_credential_endpoint,
264+
"cert-path", G_TYPE_STRING, cert_path,
265+
"key-path", G_TYPE_STRING, private_key_path,
266+
"ca-path", G_TYPE_STRING, ca_cert_path,
267+
"role-aliases", G_TYPE_STRING, role_alias, NULL);
268+
269+
g_object_set(G_OBJECT (kvssink), "iot-certificate", iot_credentials, NULL);
270270
gst_structure_free(iot_credentials);
271271
// kvssink will search for long term credentials in envvar automatically so no need to include here
272272
// if no long credentials or IoT credentials provided will look for credential file as last resort
@@ -418,7 +418,7 @@ int gstreamer_live_source_init(int argc, char *argv[], CustomData *data, GstElem
418418
LOG_DEBUG("Streaming with live source and width: " << width << ", height: " << height << ", fps: " << framerate
419419
<< ", bitrateInKBPS" << bitrateInKBPS);
420420

421-
GstElement *source_filter, *filter, *h264parse, *encoder, *source, *video_convert;
421+
GstElement *source_filter, *filter, *kvssink, *h264parse, *encoder, *source, *video_convert;
422422

423423
/* create the elements */
424424
source_filter = gst_element_factory_make("capsfilter", "source_filter");
@@ -431,6 +431,11 @@ int gstreamer_live_source_init(int argc, char *argv[], CustomData *data, GstElem
431431
LOG_ERROR("Failed to create capsfilter (2)");
432432
return 1;
433433
}
434+
kvssink = gst_element_factory_make("kvssink", "kvssink");
435+
if (!kvssink) {
436+
LOG_ERROR("Failed to create kvssink");
437+
return 1;
438+
}
434439
h264parse = gst_element_factory_make("h264parse", "h264parse"); // needed to enforce avc stream format
435440
if (!h264parse) {
436441
LOG_ERROR("Failed to create h264parse");
@@ -625,7 +630,7 @@ int gstreamer_live_source_init(int argc, char *argv[], CustomData *data, GstElem
625630
return 0;
626631
}
627632

628-
int gstreamer_rtsp_source_init(int argc, char *argv[], CustomData *data, GstElement *pipeline, GstElement *kvssink) {
633+
int gstreamer_rtsp_source_init(int argc, char *argv[], CustomData *data, GstElement *pipeline) {
629634
// process runtime if provided
630635
if (argc == 5){
631636
if ((0 == STRCMPI(argv[3], "-runtime")) ||
@@ -637,9 +642,10 @@ int gstreamer_rtsp_source_init(int argc, char *argv[], CustomData *data, GstElem
637642
}
638643
}
639644
}
640-
GstElement *filter, *depay, *source, *h264parse;
645+
GstElement *filter, *kvssink, *depay, *source, *h264parse;
641646

642647
filter = gst_element_factory_make("capsfilter", "filter");
648+
kvssink = gst_element_factory_make("kvssink", "kvssink");
643649
depay = gst_element_factory_make("rtph264depay", "depay");
644650
source = gst_element_factory_make("rtspsrc", "source");
645651
h264parse = gst_element_factory_make("h264parse", "h264parse");
@@ -687,13 +693,14 @@ int gstreamer_rtsp_source_init(int argc, char *argv[], CustomData *data, GstElem
687693
return 0;
688694
}
689695

690-
int gstreamer_file_source_init(CustomData *data, GstElement *pipeline, GstElement *kvssink) {
696+
int gstreamer_file_source_init(CustomData *data, GstElement *pipeline) {
691697

692698
GstElement *demux, *filesrc, *h264parse, *filter, *queue;
693699
string file_suffix;
694700
string file_path = data->file_list.at(data->current_file_idx).path;
695701

696702
filter = gst_element_factory_make("capsfilter", "filter");
703+
kvssink = gst_element_factory_make("kvssink", "kvssink");
697704
filesrc = gst_element_factory_make("filesrc", "filesrc");
698705
h264parse = gst_element_factory_make("h264parse", "h264parse");
699706
queue = gst_element_factory_make("queue", "queue");
@@ -763,34 +770,28 @@ int gstreamer_init(int argc, char *argv[], CustomData *data) {
763770
/* init GStreamer */
764771
gst_init(&argc, &argv);
765772

766-
GstElement *pipeline, *kvssink;
773+
GstElement *pipeline;
767774
int ret;
768775
GstStateChangeReturn gst_ret;
769776

770777
// Reset first frame pts
771778
data->first_pts = GST_CLOCK_TIME_NONE;
772779

773-
kvssink = gst_element_factory_make("kvssink", "kvssink");
774-
if (!kvssink) {
775-
LOG_ERROR("Failed to create kvssink");
776-
return 1;
777-
}
778-
779780
switch (data->streamSource) {
780781
case LIVE_SOURCE:
781782
LOG_INFO("Streaming from live source");
782783
pipeline = gst_pipeline_new("live-kinesis-pipeline");
783-
ret = gstreamer_live_source_init(argc, argv, data, pipeline, kvssink);
784+
ret = gstreamer_live_source_init(argc, argv, data, pipeline);
784785
break;
785786
case RTSP_SOURCE:
786787
LOG_INFO("Streaming from rtsp source");
787788
pipeline = gst_pipeline_new("rtsp-kinesis-pipeline");
788-
ret = gstreamer_rtsp_source_init(argc, argv, data, pipeline, kvssink);
789+
ret = gstreamer_rtsp_source_init(argc, argv, data, pipeline);
789790
break;
790791
case FILE_SOURCE:
791792
LOG_INFO("Streaming from file source");
792793
pipeline = gst_pipeline_new("file-kinesis-pipeline");
793-
ret = gstreamer_file_source_init(data, pipeline, kvssink);
794+
ret = gstreamer_file_source_init(data, pipeline);
794795
break;
795796
}
796797

src/gstreamer/gstkvssink.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ struct _GstKvsSink {
144144
guint num_streams;
145145
guint num_audio_streams;
146146
guint num_video_streams;
147+
148+
147149
std::unique_ptr<Credentials> credentials_;
148150
std::shared_ptr<KvsSinkCustomData> data;
149151
};

0 commit comments

Comments
 (0)