Skip to content

Commit 0c06033

Browse files
committed
abstract event trigger
1 parent 6992878 commit 0c06033

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/gstreamer/gstkvssink.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ G_BEGIN_DECLS
6363
#define KVSSINK_USER_AGENT_POSTFIX_VERSION "UNKNOWN"
6464
#endif
6565

66+
#define KVS_ADD_METADATA_G_STRUCT_NAME "kvs-add-metadata"
67+
#define KVS_ADD_METADATA_NAME "name"
68+
#define KVS_ADD_METADATA_VALUE "value"
69+
#define KVS_ADD_METADATA_PERSISTENT "persist"
70+
6671
typedef struct _GstKvsSink GstKvsSink;
6772
typedef struct _GstKvsSinkClass GstKvsSinkClass;
6873
typedef struct _KvsSinkCustomData KvsSinkCustomData;
@@ -211,4 +216,13 @@ struct _KvsSinkMetric {
211216
bool on_first_frame;
212217
};
213218

219+
static bool inline put_fragment_metadata(GstElement* element, const std::string name, const std::string value, bool persistent) {
220+
GstStructure* structure = gst_structure_new_empty(KVS_ADD_METADATA_G_STRUCT_NAME);
221+
gst_structure_set(structure, KVS_ADD_METADATA_NAME, G_TYPE_STRING, name.c_str(),
222+
KVS_ADD_METADATA_VALUE, G_TYPE_STRING, value.c_str(),
223+
KVS_ADD_METADATA_PERSISTENT, G_TYPE_BOOLEAN, persistent, NULL);
224+
GstEvent* event = gst_event_new_custom(GST_EVENT_CUSTOM_DOWNSTREAM, structure);
225+
return gst_element_send_event(element, event);
226+
}
227+
214228
#endif /* __GST_KVS_SINK_H__ */

0 commit comments

Comments
 (0)