[pinpoint] clutter: Stop the video texture even if we have a transition



commit f6cb984684b4cd98d0c27c714ddaf9c24789bfd8
Author: Damien Lespiau <damien lespiau intel com>
Date:   Sat Aug 6 06:54:29 2011 +0100

    clutter: Stop the video texture even if we have a transition
    
    The logic to stop the video/camera was in the !data->transition branch,
    but in fact, we want to do that even when we have a transition set on
    the slide.
    
    Move that code out of the if (!data->transition) branch.

 pp-clutter.c |   52 ++++++++++++++++++++++++++++------------------------
 1 files changed, 28 insertions(+), 24 deletions(-)
---
diff --git a/pp-clutter.c b/pp-clutter.c
index dd3d01d..c3bee0a 100644
--- a/pp-clutter.c
+++ b/pp-clutter.c
@@ -1295,30 +1295,6 @@ static void leave_slide (ClutterRenderer *renderer,
                                  CLUTTER_LINEAR, 1000,
                                  "opacity",      0x0,
                                  NULL);
-#ifdef USE_CLUTTER_GST
-          if (point->bg_type == PP_BG_CAMERA)
-            {
-              gst_element_set_state (data->pipeline, GST_STATE_PAUSED);
-            }
-          if (CLUTTER_GST_IS_VIDEO_TEXTURE (data->background))
-            {
-              clutter_media_set_playing (CLUTTER_MEDIA (data->background),
-                                         FALSE);
-            }
-#endif
-#ifdef USE_DAX
-          if (DAX_IS_ACTOR (data->background))
-            {
-              dax_actor_set_playing (DAX_ACTOR (data->background), FALSE);
-            }
-          else if (PP_IS_SUPER_AA (data->background))
-            {
-              ClutterActor *actor;
-
-              actor = mx_offscreen_get_child (MX_OFFSCREEN (data->background));
-              dax_actor_set_playing (DAX_ACTOR (actor), FALSE);
-            }
-#endif
         }
     }
   else
@@ -1331,6 +1307,34 @@ static void leave_slide (ClutterRenderer *renderer,
             clutter_state_set_state (data->state, "post");
         }
     }
+
+  if (data->background)
+    {
+#ifdef USE_CLUTTER_GST
+      if (point->bg_type == PP_BG_CAMERA)
+        {
+          gst_element_set_state (data->pipeline, GST_STATE_PAUSED);
+        }
+      if (CLUTTER_GST_IS_VIDEO_TEXTURE (data->background))
+        {
+          clutter_media_set_playing (CLUTTER_MEDIA (data->background),
+                                     FALSE);
+        }
+#endif
+#ifdef USE_DAX
+      if (DAX_IS_ACTOR (data->background))
+        {
+          dax_actor_set_playing (DAX_ACTOR (data->background), FALSE);
+        }
+      else if (PP_IS_SUPER_AA (data->background))
+        {
+          ClutterActor *actor;
+
+          actor = mx_offscreen_get_child (MX_OFFSCREEN (data->background));
+          dax_actor_set_playing (DAX_ACTOR (actor), FALSE);
+        }
+#endif
+    }
 }
 
 static void state_completed (ClutterState *state, gpointer user_data)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]