summaryrefslogtreecommitdiff
path: root/clutter-gst/clutter-gst-player.c
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2013-03-14 02:37:05 +0000
committerLionel Landwerlin <llandwerlin@gmail.com>2013-03-18 16:25:07 +0000
commita49fb5d4310089dd78dfb8821613912e9d641f0e (patch)
treee6bfc5d7f37300778904b002ee01c32180417be9 /clutter-gst/clutter-gst-player.c
parentce15e8d18dc60428552c6a009135ca609b7c6065 (diff)
downloadclutter-gst-a49fb5d4310089dd78dfb8821613912e9d641f0e.tar.gz
move update frame util function to player
Diffstat (limited to 'clutter-gst/clutter-gst-player.c')
-rw-r--r--clutter-gst/clutter-gst-player.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/clutter-gst/clutter-gst-player.c b/clutter-gst/clutter-gst-player.c
index 25f8db5..80e6fc3 100644
--- a/clutter-gst/clutter-gst-player.c
+++ b/clutter-gst/clutter-gst-player.c
@@ -359,3 +359,30 @@ clutter_gst_player_get_idle (ClutterGstPlayer *self)
return iface->get_idle (self);
}
+
+/* Internal functions */
+
+void
+clutter_gst_util_update_frame (ClutterGstPlayer *player,
+ ClutterGstFrame **frame,
+ CoglPipeline *pipeline)
+{
+ ClutterGstFrame *old_frame = *frame;
+ ClutterGstFrame *new_frame = clutter_gst_frame_new (pipeline);
+
+ *frame = new_frame;
+
+ if (old_frame == NULL ||
+ new_frame->resolution.width != old_frame->resolution.width ||
+ new_frame->resolution.height != old_frame->resolution.height)
+ {
+ g_signal_emit_by_name (player, "size-change",
+ new_frame->resolution.width,
+ new_frame->resolution.height);
+ }
+
+ if (old_frame)
+ g_boxed_free (CLUTTER_GST_TYPE_FRAME, old_frame);
+
+ g_signal_emit_by_name (player, "new-frame", new_frame);
+}