renderer: If media is not seekable, return 710
authorJens Georg <jensg@openismus.com>
Thu, 17 Oct 2013 12:21:05 +0000 (14:21 +0200)
committerJens Georg <jensg@openismus.com>
Thu, 17 Oct 2013 12:46:56 +0000 (14:46 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=710377

src/librygel-renderer/rygel-av-transport.vala

index 0f3532c..8fd2555 100644 (file)
@@ -598,6 +598,12 @@ internal class Rygel.AVTransport : Service {
         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"));
 
@@ -610,6 +616,12 @@ internal class Rygel.AVTransport : Service {
         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);