Вот код, структура которого отправляется на шину:
s = gst_structure_new ("GstMultiFileSink",
"filename", G_TYPE_STRING, filename,
"index", G_TYPE_INT, multifilesink->index,
"timestamp", G_TYPE_UINT64, timestamp,
"stream-time", G_TYPE_UINT64, stream_time,
"running-time", G_TYPE_UINT64, running_time,
"duration", G_TYPE_UINT64, duration,
"offset", G_TYPE_UINT64, offset,
"offset-end", G_TYPE_UINT64, offset_end, NULL);
Поэтому, когда вы получите свою структуру, вы должны использовать некоторые функции GstStructure
для получения данных, которые вас интересуют:
guint64 timestamp;
gst_structure_get_uint64(MessageStructurePtr, "timestamp", ×tamp);