[rygel/rygel-0-18] server: Fix playlist transfer mode handling



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

    server: Fix playlist transfer mode handling
    
    Conflicts:
        src/librygel-server/rygel-media-container.vala

 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 e977cea..a96447e 100644
--- a/src/librygel-server/rygel-http-get.vala
+++ b/src/librygel-server/rygel-http-get.vala
@@ -204,18 +204,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 b0f5035..ebf653a 100644
--- a/src/librygel-server/rygel-media-container.vala
+++ b/src/librygel-server/rygel-media-container.vala
@@ -338,7 +338,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]