From: juan82.liu Date: Fri, 10 Mar 2017 00:38:38 +0000 (+0800) Subject: Patch to flush appsrc internal frames datas X-Git-Tag: submit/tizen_3.0/20170317.034449^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=53b0eea5d7aa48433f3636b9e15706ede292d3fe;p=platform%2Fcore%2Fapi%2Fmediacodec.git Patch to flush appsrc internal frames datas Change-Id: I14aed19af4f0853c91713767f66219f6a0a224a0 --- diff --git a/src/media_codec_port_gst.c b/src/media_codec_port_gst.c index 387efcd..fd8246c 100755 --- a/src/media_codec_port_gst.c +++ b/src/media_codec_port_gst.c @@ -2309,7 +2309,7 @@ gboolean __mc_gst_bus_callback(GstBus *bus, GstMessage *msg, gpointer data) { 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)) { @@ -2401,7 +2401,7 @@ static GstBusSyncReply __mc_gst_bus_sync_callback(GstBus *bus, GstMessage *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"); @@ -2724,6 +2724,23 @@ static int _mc_gst_flush_buffers(mc_gst_core_t *core) _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);