summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJens Georg <jensg@openismus.com>2013-10-10 13:05:30 +0200
committerJens Georg <jensg@openismus.com>2013-10-10 13:05:30 +0200
commit41a72af1761a49fbf7064300187550cd943ae3c0 (patch)
tree9946c3cb465274e082ef8eabf342b7db0be820df /examples
parent9afc2f5630605298c762e90381663d2f7b37ac5a (diff)
downloadrygel-41a72af1761a49fbf7064300187550cd943ae3c0.tar.gz
examples: Simulate image rendering in vala example
Diffstat (limited to 'examples')
-rw-r--r--examples/renderer-plugins/vala/example-player-vala.vala22
-rw-r--r--examples/renderer-plugins/vala/example-renderer-plugin-vala.vala9
2 files changed, 31 insertions, 0 deletions
diff --git a/examples/renderer-plugins/vala/example-player-vala.vala b/examples/renderer-plugins/vala/example-player-vala.vala
index 4768c678..6771e433 100644
--- a/examples/renderer-plugins/vala/example-player-vala.vala
+++ b/examples/renderer-plugins/vala/example-player-vala.vala
@@ -54,6 +54,25 @@ public class Rygel.Example.PlayerVala : GLib.Object, Rygel.MediaPlayer {
set {
this._playback_state = value;
+ if (this._playback_state == "PLAYING") {
+ Idle.add (() => {
+ uint8[] data;
+ try {
+ var f = File.new_for_uri (this.uri);
+ f.load_contents (null, out data, null);
+ } catch (Error err) {
+ warning ("Failed: %s", err.message);
+ }
+
+ Timeout.add_seconds (60, () => {
+ this.playback_state = "EOS";
+
+ return false;
+ });
+
+ return false;
+ });
+ }
}
}
@@ -92,6 +111,9 @@ public class Rygel.Example.PlayerVala : GLib.Object, Rygel.MediaPlayer {
* rygel -g 5
*/
debug ("URI set to %s.", value);
+ if (this._playback_state == "EOS") {
+ this.playback_state = "PLAYING";
+ }
}
}
diff --git a/examples/renderer-plugins/vala/example-renderer-plugin-vala.vala b/examples/renderer-plugins/vala/example-renderer-plugin-vala.vala
index 26b029e6..53f6303c 100644
--- a/examples/renderer-plugins/vala/example-renderer-plugin-vala.vala
+++ b/examples/renderer-plugins/vala/example-renderer-plugin-vala.vala
@@ -59,6 +59,15 @@ public class Rygel.Example.RendererPluginVala : Rygel.MediaRendererPlugin {
base (NAME, TITLE, DESCRIPTION);
}
+ public override void constructed () {
+ base.constructed ();
+ var l = new List<Rygel.Renderer.DLNAProfile> ();
+ l.prepend (new Rygel.Renderer.DLNAProfile ("JPEG_SM", "image/jpeg"));
+ l.prepend (new Rygel.Renderer.DLNAProfile ("MP3", "audio/mpeg"));
+
+ this.supported_profiles = l;
+ }
+
public override MediaPlayer? get_player () {
return Example.PlayerVala.get_default ();
}