diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-07-01 16:10:55 +0100 |
---|---|---|
committer | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-07-08 12:11:09 +0100 |
commit | 2b077e89c620c630e4fdaf2d9cb73ab141127ea9 (patch) | |
tree | f7b9fadc1448321003926a5a295b39dd64b0af18 /clutter-gst/clutter-gst-playback.c | |
parent | a661cbdca1c5a807ab48017cd4c93c149f878b0b (diff) | |
download | clutter-gst-2b077e89c620c630e4fdaf2d9cb73ab141127ea9.tar.gz |
switch ClutterGst to use ClutterContent
Diffstat (limited to 'clutter-gst/clutter-gst-playback.c')
-rw-r--r-- | clutter-gst/clutter-gst-playback.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/clutter-gst/clutter-gst-playback.c b/clutter-gst/clutter-gst-playback.c index a368de1..7939fbb 100644 --- a/clutter-gst/clutter-gst-playback.c +++ b/clutter-gst/clutter-gst-playback.c @@ -116,6 +116,7 @@ struct _ClutterGstPlaybackPrivate { GstElement *pipeline; GstBus *bus; + CoglGstVideoSink *video_sink; ClutterGstFrame *current_frame; @@ -1378,6 +1379,14 @@ clutter_gst_playback_get_pipeline (ClutterGstPlayer *self) return priv->pipeline; } +static CoglGstVideoSink * +clutter_gst_playback_get_video_sink (ClutterGstPlayer *self) +{ + ClutterGstPlaybackPrivate *priv = CLUTTER_GST_PLAYBACK (self)->priv; + + return priv->video_sink; +} + static gboolean clutter_gst_playback_get_idle (ClutterGstPlayer *self) { @@ -1417,6 +1426,8 @@ player_iface_init (ClutterGstPlayerIface *iface) { iface->get_frame = clutter_gst_playback_get_frame; iface->get_pipeline = clutter_gst_playback_get_pipeline; + iface->get_video_sink = clutter_gst_playback_get_video_sink; + iface->get_idle = clutter_gst_playback_get_idle; iface->get_audio_volume = clutter_gst_playback_get_audio_volume; @@ -1911,8 +1922,8 @@ _pixel_aspect_ratio_changed (CoglGstVideoSink *sink, static GstElement * get_pipeline (ClutterGstPlayback *self) { + ClutterGstPlaybackPrivate *priv = self->priv; GstElement *pipeline, *audio_sink; - CoglGstVideoSink *video_sink; pipeline = gst_element_factory_make ("playbin", "pipeline"); if (!pipeline) @@ -1937,18 +1948,18 @@ get_pipeline (ClutterGstPlayback *self) } } - video_sink = cogl_gst_video_sink_new (clutter_gst_get_cogl_context ()); + priv->video_sink = cogl_gst_video_sink_new (clutter_gst_get_cogl_context ()); - g_signal_connect (video_sink, "new-frame", + g_signal_connect (priv->video_sink, "new-frame", G_CALLBACK (_new_frame_from_pipeline), self); - g_signal_connect (video_sink, "pipeline-ready", + g_signal_connect (priv->video_sink, "pipeline-ready", G_CALLBACK (_ready_from_pipeline), self); - g_signal_connect (video_sink, "notify::pixel-aspect-ratio", + g_signal_connect (priv->video_sink, "notify::pixel-aspect-ratio", G_CALLBACK (_pixel_aspect_ratio_changed), self); g_object_set (G_OBJECT (pipeline), "audio-sink", audio_sink, - "video-sink", video_sink, + "video-sink", priv->video_sink, "subtitle-font-desc", "Sans 16", NULL); |