goto MSG_CALLBACK_DONE;
}
+ _MMSTREAMRECORDER_LOCK((MMHandleType) hstreamrecorder);
+ if (hstreamrecorder->msg_data)
+ hstreamrecorder->msg_data = g_list_remove(hstreamrecorder->msg_data, item);
+
+ _MMSTREAMRECORDER_UNLOCK((MMHandleType) hstreamrecorder);
+
/* _mmstreamrec_dbg_log("msg id:%x, msg_cb:%p, msg_data:%p, item:%p", item->id, hstreamrecorder->msg_cb, hstreamrecorder->msg_data, item); */
_MMSTREAMRECORDER_LOCK_MESSAGE_CALLBACK(hstreamrecorder);
_MMSTREAMRECORDER_UNLOCK_MESSAGE_CALLBACK(hstreamrecorder);
- _MMSTREAMRECORDER_LOCK((MMHandleType) hstreamrecorder);
- if (hstreamrecorder->msg_data)
- hstreamrecorder->msg_data = g_list_remove(hstreamrecorder->msg_data, item);
-
- _MMSTREAMRECORDER_UNLOCK((MMHandleType) hstreamrecorder);
-
MSG_CALLBACK_DONE:
/* release allocated memory */
if (item->id == MM_MESSAGE_STREAMRECORDER_VIDEO_CAPTURED ||
vnewstate = (GValue *) gst_structure_get_value(gst_message_get_structure(message), "new-state");
newstate = (GstState) vnewstate->data[0].v_int;
_mmstreamrec_dbg_log("GST_MESSAGE_STATE_CHANGED[%s]", gst_element_state_get_name(newstate));
+ if (newstate == 4) {
+ if (hstreamrecorder->ini.generate_dot) {
+ _mmstreamrec_dbg_log("GST_MESSAGE_STATE_PLAYING! DOT would be generated.");
+ g_setenv("GST_DEBUG_DUMP_DOT_DIR", "/tmp/", FALSE);
+ GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN(sc->encode_element[_MMSTREAMRECORDER_ENCODE_MAIN_PIPE].gst), GST_DEBUG_GRAPH_SHOW_ALL, "streamrecorder_pipeline");
+ }
+ }
}
}
}