У меня есть простая пользовательская структура метаданных, которую я присоединяю к GstBuffer для целей синхронизации:
/** Timing meta data to be appended to buffers **/
typedef struct _TimingMeta TimingMeta;
struct _TimingMeta {
GstMeta meta;
GstClockTime timestamp;
GstClockTime captureTime;
};
Я могу «ввести» / «извлечь» метаданные для общих элементов, где, например, все CAPS - «video / x-raw», например:
GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
TimingMeta* timingMeta = gst_buffer_get_timing_meta(buffer);
Это не будет работать, например, omxh264dev, откуда мы идем
video / x-h264 ---> video / x-raw
В этом случае метаданные теряются или не передаются.
Как убедиться, что метаданные сохранены? Возможно, с какой-то функцией преобразования?