renderer: Add get_playbin()
authorMurray Cumming <murrayc@murrayc.com>
Tue, 11 Sep 2012 08:57:52 +0000 (10:57 +0200)
committerJens Georg <jensg@openismus.com>
Sat, 6 Oct 2012 19:45:49 +0000 (21:45 +0200)
This avoids the need to get the default player just to get the playbin.

examples/standalone-renderer.c
src/librygel-renderer-gst/rygel-playbin-renderer.vala

index 49bdeb2..2703499 100644 (file)
@@ -42,8 +42,7 @@
 
 int main(int argc, char *argv[])
 {
-    GstElement *sink, *asink;
-    RygelPlaybinPlayer *player;
+    GstElement *playbin, *sink, *asink;
     RygelPlaybinRenderer *renderer;
     GError *error = NULL;
     GMainLoop *loop;
@@ -54,7 +53,7 @@ int main(int argc, char *argv[])
     g_set_application_name ("Standalone-Renderer");
 
     renderer = rygel_playbin_renderer_new ("LibRygel renderer demo");
-    player = rygel_playbin_player_get_default ();
+    playbin = rygel_playbin_renderer_get_playbin (renderer);
     sink = gst_element_factory_make ("cacasink", NULL);
     g_object_set (G_OBJECT (sink),
                   "dither", 53,
@@ -63,7 +62,7 @@ int main(int argc, char *argv[])
 
     asink = gst_element_factory_make ("pulsesink", NULL);
 
-    g_object_set (G_OBJECT (rygel_playbin_player_get_playbin (player)),
+    g_object_set (G_OBJECT (playbin),
                   "video-sink", sink,
                   "audio-sink", asink,
                   NULL);
index 62bba08..4ec6a39 100644 (file)
@@ -91,6 +91,16 @@ public class Rygel.Playbin.Renderer : Rygel.MediaDevice {
         this.prepare_upnp (title);
     }
 
+    /**
+     * Get the GstPlaybin2 used by this Renderer.
+     */
+    public Gst.Element? get_playbin () {
+        var player = Rygel.Playbin.Player.get_default ();
+        return_val_if_fail (player != null, null);
+
+        return player.playbin;
+    }
+
     private void prepare_upnp (string title) {
         this.plugin.title = title;