summaryrefslogtreecommitdiff
path: root/legacy/emotion/src/modules/gstreamer
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2011-11-05 13:44:21 +0000
committerCedric BAIL <cedric.bail@free.fr>2011-11-05 13:44:21 +0000
commit550a40340a0f063ab51c3b18f74c901510add1a8 (patch)
treed4e971bbc2abcbd8d9369e70e6816f835b7a3baa /legacy/emotion/src/modules/gstreamer
parentbb1c44e54fc0d8a8bccee1e264033bf65864258c (diff)
emotion: always trigger new frame callback.
SVN revision: 64758
Diffstat (limited to '')
-rw-r--r--legacy/emotion/src/modules/gstreamer/emotion_sink.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/legacy/emotion/src/modules/gstreamer/emotion_sink.c b/legacy/emotion/src/modules/gstreamer/emotion_sink.c
index 33564ad2f9..81932bbc21 100644
--- a/legacy/emotion/src/modules/gstreamer/emotion_sink.c
+++ b/legacy/emotion/src/modules/gstreamer/emotion_sink.c
@@ -708,6 +708,7 @@ evas_video_sink_samsung_main_render(void *data)
708 if (!send->ev->stream && !send->force) 708 if (!send->ev->stream && !send->force)
709 { 709 {
710 send->ev->send = send; 710 send->ev->send = send;
711 _emotion_frame_new(send->ev->obj);
711 goto exit_stream; 712 goto exit_stream;
712 } 713 }
713 714
@@ -766,7 +767,10 @@ evas_video_sink_samsung_main_render(void *data)
766 send->ev->play_started = 0; 767 send->ev->play_started = 0;
767 } 768 }
768 769
769 _emotion_frame_new(send->ev->obj); 770 if (!send->force)
771 {
772 _emotion_frame_new(send->ev->obj);
773 }
770 774
771 vstream = eina_list_nth(send->ev->video_streams, send->ev->video_stream_nbr - 1); 775 vstream = eina_list_nth(send->ev->video_streams, send->ev->video_stream_nbr - 1);
772 776
@@ -824,11 +828,16 @@ evas_video_sink_main_render(void *data)
824 if (!priv || !priv->o || priv->unlocked) 828 if (!priv || !priv->o || priv->unlocked)
825 goto exit_point; 829 goto exit_point;
826 830
831 if (ev->send && send != ev->send)
832 {
833 emotion_gstreamer_buffer_free(ev->send);
834 ev->send = NULL;
835 }
836
827 if (!ev->stream && !send->force) 837 if (!ev->stream && !send->force)
828 { 838 {
829 if (ev->send && send != ev->send)
830 emotion_gstreamer_buffer_free(ev->send);
831 ev->send = send; 839 ev->send = send;
840 _emotion_frame_new(ev->obj);
832 evas_object_image_data_update_add(priv->o, 0, 0, priv->width, priv->height); 841 evas_object_image_data_update_add(priv->o, 0, 0, priv->width, priv->height);
833 goto exit_stream; 842 goto exit_stream;
834 } 843 }
@@ -858,7 +867,10 @@ evas_video_sink_main_render(void *data)
858 ev->play_started = 0; 867 ev->play_started = 0;
859 } 868 }
860 869
861 _emotion_frame_new(ev->obj); 870 if (!send->force)
871 {
872 _emotion_frame_new(ev->obj);
873 }
862 874
863 gst_element_query_position(ev->pipeline, &fmt, &pos); 875 gst_element_query_position(ev->pipeline, &fmt, &pos);
864 ev->position = (double)pos / (double)GST_SECOND; 876 ev->position = (double)pos / (double)GST_SECOND;