[rygel] server: Fix playlist transfer mode handling



commit c38fe86e5c6110564c5a20aa990a4d0f32bcee80
Author: Jens Georg <jensg openismus com>
Date:   Sun Jun 16 11:36:25 2013 +0200

    server: Fix playlist transfer mode handling

 src/librygel-server/rygel-http-get.vala        |   10 ++++++----
 src/librygel-server/rygel-media-container.vala |    3 ++-
 2 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/src/librygel-server/rygel-http-get.vala b/src/librygel-server/rygel-http-get.vala
index d8882fc..19422d0 100644
--- a/src/librygel-server/rygel-http-get.vala
+++ b/src/librygel-server/rygel-http-get.vala
@@ -206,18 +206,20 @@ internal class Rygel.HTTPGet : HTTPRequest {
 
         switch (mode) {
         case "Streaming":
-            correct = this.handler is HTTPTranscodeHandler ||
+            correct = (!(this.handler is HTTPPlaylistHandler)) && (
+                      (this.handler is HTTPTranscodeHandler ||
                       ((this.object as MediaItem).streamable () &&
                        this.subtitle == null &&
-                       this.thumbnail == null);
+                       this.thumbnail == null)));
 
             break;
         case "Interactive":
-            correct = this.handler is HTTPIdentityHandler &&
+            correct = (this.handler is HTTPIdentityHandler &&
                       ((!(this.object as MediaItem).is_live_stream () &&
                        !(this.object as MediaItem).streamable ()) ||
                        (this.subtitle != null ||
-                        this.thumbnail != null));
+                        this.thumbnail != null))) ||
+                      this.handler is HTTPPlaylistHandler;
 
             break;
         }
diff --git a/src/librygel-server/rygel-media-container.vala b/src/librygel-server/rygel-media-container.vala
index 4ae62e1..efb2b70 100644
--- a/src/librygel-server/rygel-media-container.vala
+++ b/src/librygel-server/rygel-media-container.vala
@@ -371,7 +371,8 @@ public abstract class Rygel.MediaContainer : MediaObject {
         protocol_info.protocol = protocol;
         protocol_info.dlna_flags = DLNAFlags.DLNA_V15 |
                                    DLNAFlags.CONNECTION_STALL |
-                                   DLNAFlags.BACKGROUND_TRANSFER_MODE;
+                                   DLNAFlags.BACKGROUND_TRANSFER_MODE |
+                                   DLNAFlags.INTERACTIVE_TRANSFER_MODE;
         res.protocol_info = protocol_info;
 
         return res;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]