+static gboolean __mmcamcorder_frame_meta_foreach_func(GQuark field_id, const GValue *value, gpointer user_data)
+{
+ MMCamcorderVideoStreamDataType *stream = (MMCamcorderVideoStreamDataType *)user_data;
+ const char *field_name = g_quark_to_string(field_id);
+ guint64 field_value = g_value_get_uint64(value);
+
+ if (!stream || !field_name) {
+ MMCAM_LOG_WARNING("invalid ptr[%p, %p]", stream, field_name);
+ return TRUE;
+ }
+
+ if (!strncmp("ts_soe", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_soe = field_value;
+ MMCAM_LOG_VERBOSE("[TS] SOE -> %llu", stream->ts_soe);
+ } else if (!strncmp("ts_eoe", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_eoe = field_value;
+ MMCAM_LOG_VERBOSE("[TS] EOE -> %llu", stream->ts_eoe);
+ } else if (!strncmp("ts_sof", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_sof = field_value;
+ MMCAM_LOG_VERBOSE("[TS] SOF -> %llu", stream->ts_sof);
+ } else if (!strncmp("ts_eof", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_eof = field_value;
+ MMCAM_LOG_VERBOSE("[TS] EOF -> %llu", stream->ts_eof);
+ } else if (!strncmp("ts_hal", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_hal = field_value;
+ MMCAM_LOG_VERBOSE("[TS] HAL -> %llu", stream->ts_hal);
+ } else if (!strncmp("ts_qmf", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_qmf = field_value;
+ MMCAM_LOG_VERBOSE("[TS] QMF -> %llu", stream->ts_qmf);
+ } else if (!strncmp("ts_gst", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_gst = field_value;
+ MMCAM_LOG_VERBOSE("[TS] GST -> %llu", stream->ts_gst);
+ } else if (!strncmp("td_exp", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->td_exp = field_value;
+ MMCAM_LOG_VERBOSE("[TD] EXP -> %llu", stream->td_exp);
+ } else if (!strncmp("ts_aux", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->ts_aux = field_value;
+ MMCAM_LOG_VERBOSE("[TS] AUX -> %llu", stream->ts_aux);
+ } else if (!strncmp("td_aux", field_name, META_TIMESTAMP_FIELD_LENGTH)) {
+ stream->td_aux = field_value;
+ MMCAM_LOG_VERBOSE("[TD] AUX -> %llu", stream->td_aux);
+ }
+
+ return TRUE;
+}
+
+