@@ -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+
6671typedef struct _GstKvsSink GstKvsSink;
6772typedef struct _GstKvsSinkClass GstKvsSinkClass;
6873typedef 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