From a3276050e58b375de5eb1ba7c8a82a8d2f0e209e Mon Sep 17 00:00:00 2001 From: Jens Georg Date: Thu, 17 Oct 2013 14:28:03 +0200 Subject: [PATCH] renderer: Refactor ABS_TIME/REL_TIME seeking Re-unify the two codepaths and just add player position to the seek target when we're in REL_TIME mode. --- src/librygel-renderer/rygel-av-transport.vala | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/librygel-renderer/rygel-av-transport.vala b/src/librygel-renderer/rygel-av-transport.vala index 8fd2555..ee5785f 100644 --- a/src/librygel-renderer/rygel-av-transport.vala +++ b/src/librygel-renderer/rygel-av-transport.vala @@ -596,35 +596,20 @@ internal class Rygel.AVTransport : Service { out target); switch (unit) { case "ABS_TIME": - debug ("Seeking to %s.", target); - - if (!this.player.can_seek) { - action.return_error (710, _("Seek mode not supported")); - - return; - } - - if (!this.player.seek (TimeUtils.time_from_string (target))) { - action.return_error (711, _("Illegal seek target")); + case "REL_TIME": + debug ("Seeking %s to %s.", unit, target); - return; + var seek_target = TimeUtils.time_from_string (target); + if (unit == "REL_TIME") { + seek_target += this.player.position; } - action.return (); - - return; - case "REL_TIME": - debug ("Relative seek to %s.", target); - if (!this.player.can_seek) { action.return_error (710, _("Seek mode not supported")); return; } - var seek_target = this.player.position + - TimeUtils.time_from_string (target); - if (!this.player.seek (seek_target)) { action.return_error (711, _("Illegal seek target")); -- 2.7.4