[rygel] engine-gst: Do not add unnecessary resources



commit de5746999abfbf5ff0fc9c590da992e3bb1a27e0
Author: Jens Georg <mail jensge org>
Date:   Sun Aug 2 19:33:37 2015 +0200

    engine-gst: Do not add unnecessary resources
    
    We do not need transcoded resources on place holder items.
    
    Signed-off-by: Jens Georg <mail jensge org>

 .../gstreamer/rygel-gst-media-engine.vala          |   35 +++++++++++---------
 1 files changed, 19 insertions(+), 16 deletions(-)
---
diff --git a/src/media-engines/gstreamer/rygel-gst-media-engine.vala 
b/src/media-engines/gstreamer/rygel-gst-media-engine.vala
index 9e503ad..11e05b7 100644
--- a/src/media-engines/gstreamer/rygel-gst-media-engine.vala
+++ b/src/media-engines/gstreamer/rygel-gst-media-engine.vala
@@ -160,23 +160,26 @@ public class Rygel.GstMediaEngine : Rygel.MediaEngine {
         http_res.uri = ""; // The URI needs to be assigned by the MediaServer
         resources.add (http_res);
 
-        var list = new GLib.List<GstTranscoder> ();
-        foreach (var transcoder in transcoders) {
-            if (transcoder.get_distance (item) != uint.MAX &&
-                transcoder.transcoding_necessary (item)) {
-                list.append (transcoder);
+        if (!item.place_holder) {
+            var list = new GLib.List<GstTranscoder> ();
+            foreach (var transcoder in transcoders) {
+                if (transcoder.get_distance (item) != uint.MAX &&
+                    transcoder.transcoding_necessary (item)) {
+                    list.append (transcoder);
+                }
             }
-        }
-        list.sort_with_data( (transcoder_1, transcoder_2) => {
-            return (int) (transcoder_1.get_distance (item) -
-                          transcoder_2.get_distance (item));
-        });
-
-        // Put all Transcoders in the list according to their sorted rank
-        foreach (var transcoder in list) {
-            var res = transcoder.get_resource_for_item (item);
-            if (res != null) {
-                resources.add (res);
+
+            list.sort_with_data( (transcoder_1, transcoder_2) => {
+                return (int) (transcoder_1.get_distance (item) -
+                              transcoder_2.get_distance (item));
+            });
+
+            // Put all Transcoders in the list according to their sorted rank
+            foreach (var transcoder in list) {
+                var res = transcoder.get_resource_for_item (item);
+                if (res != null) {
+                    resources.add (res);
+                }
             }
         }
 



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