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;
+ });
+ }
}
}
* rygel -g 5
*/
debug ("URI set to %s.", value);
+ if (this._playback_state == "EOS") {
+ this.playback_state = "PLAYING";
+ }
}
}
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 ();
}