core: Add MediaItem.get_protocol_info()
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 26 Aug 2009 20:16:43 +0000 (23:16 +0300)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 26 Aug 2009 21:50:44 +0000 (00:50 +0300)
src/rygel/rygel-media-item.vala

index 4594878..8d1c59e 100644 (file)
@@ -133,14 +133,22 @@ public class Rygel.MediaItem : MediaObject {
         res.color_depth = this.color_depth;
 
         /* Protocol info */
+        res.protocol_info = this.get_protocol_info (uri, protocol);
+
+        return res;
+    }
+
+    internal ProtocolInfo get_protocol_info (string? uri,
+                                             string? protocol) {
         var protocol_info = new ProtocolInfo ();
 
         protocol_info.mime_type = this.mime_type;
         protocol_info.dlna_profile = this.dlna_profile;
-        if (protocol == null) {
-            protocol_info.protocol = this.get_protocol_for_uri (res.uri);
-        } else {
+
+        if (protocol != null) {
             protocol_info.protocol = protocol;
+        } else if (uri != null) {
+            protocol_info.protocol = this.get_protocol_for_uri (uri);
         }
 
         if (this.upnp_class.has_prefix (MediaItem.IMAGE_CLASS)) {
@@ -154,9 +162,7 @@ public class Rygel.MediaItem : MediaObject {
             protocol_info.dlna_flags |= DLNAFlags.BACKGROUND_TRANSFER_MODE;
         }
 
-        res.protocol_info = protocol_info;
-
-        return res;
+        return protocol_info;
     }
 
     private string get_protocol_for_uri (string uri) throws Error {