[clutter-gst] examples: fix video-sink



commit e7c1267b05ef0e137f1dcbfa9d117cf811b092a7
Author: Lionel Landwerlin <llandwerlin gmail com>
Date:   Tue Sep 16 03:13:47 2014 +0100

    examples: fix video-sink

 examples/video-sink.c |   49 +++++++++++++++++++++----------------------------
 1 files changed, 21 insertions(+), 28 deletions(-)
---
diff --git a/examples/video-sink.c b/examples/video-sink.c
index 26a3651..5be6df6 100644
--- a/examples/video-sink.c
+++ b/examples/video-sink.c
@@ -68,14 +68,12 @@ size_change (ClutterGstPlayer *player,
 int
 main (int argc, char *argv[])
 {
-  ClutterTimeline    *timeline;
-  ClutterActor       *stage;
-  ClutterActor       *actor;
-  GstElement         *src;
-  GstElement         *warp;
-  GstElement         *bin;
-  GstElement         *pipeline;
-  ClutterGstPlayback *player;
+  ClutterActor *stage;
+  ClutterActor *actor;
+  GstElement   *src;
+  GstElement   *warp;
+  GstElement   *sink;
+  GstElement   *pipeline;
 
   if (argc < 1)
     {
@@ -91,38 +89,33 @@ main (int argc, char *argv[])
   gst_init (&argc, &argv);
 
   stage = clutter_stage_new ();
+  g_object_set (stage,
+                "layout-manager",
+                clutter_bin_layout_new (CLUTTER_BIN_ALIGNMENT_FILL,
+                                        CLUTTER_BIN_ALIGNMENT_FILL),
+                NULL);
 
-  /* Make a timeline */
-  timeline = clutter_timeline_new (1000);
-  g_object_set(timeline, "loop", TRUE, NULL);
-
-  player = clutter_gst_playback_new ();
+  sink = clutter_gst_create_video_sink ();
   actor = g_object_new (CLUTTER_TYPE_ACTOR,
-                        "content", g_object_new (CLUTTER_GST_TYPE_CONTENT,
-                                                 "player", player, NULL),
+                        "content",
+                        g_object_new (CLUTTER_GST_TYPE_CONTENT,
+                                      "sink", sink, NULL),
+                        "width", 200.0,
+                        "height", 200.0,
                         NULL);
-  g_signal_connect (player, "size-change",
-                    G_CALLBACK (size_change), actor);
 
   /* Set up pipeline */
-  pipeline = clutter_gst_player_get_pipeline (CLUTTER_GST_PLAYER (player));
+  pipeline = gst_pipeline_new ("warptv");
 
   src = gst_element_factory_make ("videotestsrc", NULL);
   warp = gst_element_factory_make ("warptv", NULL);
-  bin = gst_bin_new ("video-test-source");
-
-  gst_bin_add_many (GST_BIN (bin), src, warp, NULL);
-  gst_element_link_many (src, warp, NULL);
-
-  g_object_set (pipeline, "source", bin, NULL);
 
-  clutter_gst_player_set_playing (CLUTTER_GST_PLAYER (player), TRUE);
+  gst_bin_add_many (GST_BIN (pipeline), src, warp, sink, NULL);
+  gst_element_link_many (src, warp, sink, NULL);
 
-  /* start the timeline */
-  clutter_timeline_start (timeline);
+  gst_element_set_state (pipeline, GST_STATE_PLAYING);
 
   clutter_actor_add_child (stage, actor);
-  // clutter_actor_set_opacity (texture, 0x11);
   clutter_actor_show (stage);
 
   clutter_main();


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