{
int ret = MC_ERROR_NONE;
mc_gst_core_t *core = (mc_gst_core_t *)data;
- LOGD("@%p v(%d)e(%d)", core, core->video, core->encoder);
+ LOGD("@%p v(%d)e(%d)bus message : %s", core, core->video, core->encoder, gst_message_type_get_name(GST_MESSAGE_TYPE(msg)));
switch (GST_MESSAGE_TYPE(msg)) {
mc_gst_core_t *core = (mc_gst_core_t *)data;
GstBusSyncReply reply = GST_BUS_DROP;
- LOGD("__mc_gst_bus_sync_callback is called");
+ LOGD("__mc_gst_bus_sync_callback is called : %s", gst_message_type_get_name(GST_MESSAGE_TYPE(msg)));
if (!core->pipeline) {
LOGE("mediacodec pipeline handle is null");
_mc_gst_set_flush_input(core);
+ LOGW("Trying send flush_start .... ");
+ event = gst_event_new_flush_start();
+ ret = gst_element_send_event(core->appsrc, event);
+ if (ret != TRUE) {
+ LOGE("failed to send Flush_Start event");
+ return MC_ERROR;
+ }
+
+ LOGW("Trying send flush_stop .... ");
+ event = gst_event_new_flush_stop(TRUE);
+ ret = gst_element_send_event(core->appsrc, event);
+ if (ret != TRUE) {
+ LOGE("failed to send Flush_Stop event");
+ return MC_ERROR;
+ }
+
+ LOGW("Trying send seek .... ");
event = gst_event_new_seek(1.0, GST_FORMAT_BYTES, GST_SEEK_FLAG_FLUSH,
GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_NONE, -1);