[pinpoint] clutter: Stop the video texture even if we have a transition
- From: Damien Lespiau <dlespiau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pinpoint] clutter: Stop the video texture even if we have a transition
- Date: Sat, 6 Aug 2011 07:55:45 +0000 (UTC)
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]