From: Sangchul Lee Date: Fri, 1 Nov 2013 09:45:22 +0000 (+0900) Subject: [evasimagesink] Fix visible issue X-Git-Tag: submit/tizen_2.2/20131107.060356 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Fsubmit%2Ftizen_2.2%2F20131107.060356;p=framework%2Fmultimedia%2Fgst-plugins-ext0.10.git [evasimagesink] Fix visible issue Change-Id: I44be198e59fe03357ac9480e5886dba289e5ac6e --- diff --git a/evasimagesink/src/gstevasimagesink.c b/evasimagesink/src/gstevasimagesink.c index 9a2fbd4..0647bf6 100644 --- a/evasimagesink/src/gstevasimagesink.c +++ b/evasimagesink/src/gstevasimagesink.c @@ -224,10 +224,6 @@ evas_image_sink_cb_pipe (void *data, void *buffer, unsigned int nbyte) if (!buffer || nbyte != sizeof (GstBuffer *)) { return; } - if (GST_STATE(esink) < GST_STATE_PAUSED) { - GST_WARNING ("WRONG-STATE(%d) for rendering, skip this frame", GST_STATE(esink)); - return; - } memcpy (&buf, buffer, sizeof (GstBuffer *)); if (!buf) { @@ -551,12 +547,11 @@ gst_evas_image_sink_set_property (GObject *object, guint prop_id, const GValue * } GST_DEBUG("Evas Image Object(%x) is set",esink->eo); esink->is_evas_object_size_set = FALSE; - esink->object_show = TRUE; - esink->update_visibility = UPDATE_TRUE; - if (esink->epipe) { - r = ecore_pipe_write (esink->epipe, &esink->update_visibility, SIZE_FOR_UPDATE_VISIBILITY); - if (r == EINA_FALSE) { - GST_WARNING ("Failed to ecore_pipe_write() for updating visibility\n"); + if (!esink->epipe) { + esink->epipe = ecore_pipe_add (evas_image_sink_cb_pipe, esink); + if (!esink->epipe) { + GST_ERROR ("ecore-pipe create failed"); + break; } } } @@ -574,12 +569,17 @@ gst_evas_image_sink_set_property (GObject *object, guint prop_id, const GValue * break; } esink->update_visibility = UPDATE_TRUE; - if (esink->epipe) { - r = ecore_pipe_write (esink->epipe, &esink->update_visibility, SIZE_FOR_UPDATE_VISIBILITY); - if (r == EINA_FALSE) { - GST_WARNING ("Failed to ecore_pipe_write() for updating visibility)\n"); + if (!esink->epipe) { + esink->epipe = ecore_pipe_add (evas_image_sink_cb_pipe, esink); + if (!esink->epipe) { + GST_ERROR ("ecore-pipe create failed"); + break; } } + r = ecore_pipe_write (esink->epipe, &esink->update_visibility, SIZE_FOR_UPDATE_VISIBILITY); + if (r == EINA_FALSE) { + GST_WARNING ("Failed to ecore_pipe_write() for updating visibility)\n"); + } break; } default: @@ -647,16 +647,14 @@ gst_evas_image_sink_show_frame (GstVideoSink *video_sink, GstBuffer *buf) return GST_FLOW_ERROR; } } - if (esink->object_show) { - gst_buffer_ref (buf); - __ta__("evasimagesink ecore_pipe_write", r = ecore_pipe_write (esink->epipe, &buf, sizeof (GstBuffer *));); - if (r == EINA_FALSE) { - gst_buffer_unref (buf); - } - GST_DEBUG ("ecore_pipe_write() was called with GST_BUFFER_DATA(buf):%x", GST_BUFFER_DATA(buf)); - } else { - GST_DEBUG ("skip ecore_pipe_write()"); + + gst_buffer_ref (buf); + __ta__("evasimagesink ecore_pipe_write", r = ecore_pipe_write (esink->epipe, &buf, sizeof (GstBuffer *));); + if (r == EINA_FALSE) { + gst_buffer_unref (buf); } + GST_DEBUG ("ecore_pipe_write() was called with GST_BUFFER_DATA(buf):%x", GST_BUFFER_DATA(buf)); + g_mutex_unlock (instance_lock); return GST_FLOW_OK; } diff --git a/packaging/gst-plugins-ext0.10.spec b/packaging/gst-plugins-ext0.10.spec index 86a832e..c750334 100644 --- a/packaging/gst-plugins-ext0.10.spec +++ b/packaging/gst-plugins-ext0.10.spec @@ -1,5 +1,5 @@ Name: gst-plugins-ext0.10 -Version: 0.3.11 +Version: 0.3.12 Summary: GStreamer extra plugins (common) Release: 0 Group: libs