diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-03-14 02:37:05 +0000 |
---|---|---|
committer | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-03-18 16:25:07 +0000 |
commit | a49fb5d4310089dd78dfb8821613912e9d641f0e (patch) | |
tree | e6bfc5d7f37300778904b002ee01c32180417be9 /clutter-gst/clutter-gst-player.c | |
parent | ce15e8d18dc60428552c6a009135ca609b7c6065 (diff) | |
download | clutter-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.c | 27 |
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); +} |