summaryrefslogtreecommitdiff
path: root/legacy/emotion/src/modules/gstreamer/emotion_sink.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2011-11-05 12:04:34 +0000
committerCedric BAIL <cedric.bail@free.fr>2011-11-05 12:04:34 +0000
commit2a248473d0edaa9e1c32d6a2b914608a70643016 (patch)
tree4f54474de092a623aee1a3a49de3047ed33b5bda /legacy/emotion/src/modules/gstreamer/emotion_sink.c
parentdecb9b63776c23d19457e8cc5caab6db156de829 (diff)
emotion: fix recursive call.
SVN revision: 64756
Diffstat (limited to '')
-rw-r--r--legacy/emotion/src/modules/gstreamer/emotion_sink.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/legacy/emotion/src/modules/gstreamer/emotion_sink.c b/legacy/emotion/src/modules/gstreamer/emotion_sink.c
index b03af812b3..33564ad2f9 100644
--- a/legacy/emotion/src/modules/gstreamer/emotion_sink.c
+++ b/legacy/emotion/src/modules/gstreamer/emotion_sink.c
@@ -699,10 +699,14 @@ evas_video_sink_samsung_main_render(void *data)
699 if (!priv || !priv->o || priv->unlocked) 699 if (!priv || !priv->o || priv->unlocked)
700 goto exit_point; 700 goto exit_point;
701 701
702 if (send->ev->send)
703 {
704 emotion_gstreamer_buffer_free(send->ev->send);
705 send->ev->send = NULL;
706 }
707
702 if (!send->ev->stream && !send->force) 708 if (!send->ev->stream && !send->force)
703 { 709 {
704 if (send->ev->send)
705 emotion_gstreamer_buffer_free(send->ev->send);
706 send->ev->send = send; 710 send->ev->send = send;
707 goto exit_stream; 711 goto exit_stream;
708 } 712 }
@@ -822,7 +826,7 @@ evas_video_sink_main_render(void *data)
822 826
823 if (!ev->stream && !send->force) 827 if (!ev->stream && !send->force)
824 { 828 {
825 if (ev->send) 829 if (ev->send && send != ev->send)
826 emotion_gstreamer_buffer_free(ev->send); 830 emotion_gstreamer_buffer_free(ev->send);
827 ev->send = send; 831 ev->send = send;
828 evas_object_image_data_update_add(priv->o, 0, 0, priv->width, priv->height); 832 evas_object_image_data_update_add(priv->o, 0, 0, priv->width, priv->height);
@@ -1121,12 +1125,14 @@ static void
1121_video_update_pixels(void *data, Evas_Object *obj __UNUSED__, const Evas_Video_Surface *surface __UNUSED__) 1125_video_update_pixels(void *data, Evas_Object *obj __UNUSED__, const Evas_Video_Surface *surface __UNUSED__)
1122{ 1126{
1123 Emotion_Gstreamer_Video *ev = data; 1127 Emotion_Gstreamer_Video *ev = data;
1128 Emotion_Gstreamer_Buffer *send;
1124 1129
1125 if (!ev->send) return ; 1130 if (!ev->send) return ;
1126 1131
1127 ev->send->force = EINA_TRUE; 1132 send = ev->send;
1128 evas_video_sink_main_render(ev->send); 1133 send->force = EINA_TRUE;
1129 ev->send = NULL; 1134 ev->send = NULL;
1135 evas_video_sink_main_render(send);
1130} 1136}
1131 1137
1132GstElement * 1138GstElement *