[rygel] core: Handle error in extract_mime_and_size



commit a9fa500ad776b288aefbac414b1f6987be26a34a
Author: Jens Georg <mail jensge org>
Date:   Sun May 24 16:30:44 2009 +0200

    core: Handle error in extract_mime_and_size
    
    Got to next uri if this function fails

 src/rygel/rygel-metadata-extractor.vala |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/src/rygel/rygel-metadata-extractor.vala b/src/rygel/rygel-metadata-extractor.vala
index 868067f..84f01ea 100644
--- a/src/rygel/rygel-metadata-extractor.vala
+++ b/src/rygel/rygel-metadata-extractor.vala
@@ -122,11 +122,15 @@ public class Rygel.MetadataExtractor: GLib.Object {
 
     private void extract_next () {
         if (this.file_queue.size > 0) {
-            var item = file_queue.peek ();
-
-            this.extract_mime_and_size ();
-            this.playbin.uri = item.get_uri ();
-            this.playbin.set_state (State.PAUSED);
+            try {
+                var item = this.file_queue.peek ();
+                this.extract_mime_and_size ();
+                this.playbin.uri = item.get_uri ();
+                this.playbin.set_state (State.PAUSED);
+            } catch (Error error) {
+                // on error just move to the next uri in queue
+                this.extract_next ();
+            }
         }
     }
 
@@ -190,7 +194,7 @@ public class Rygel.MetadataExtractor: GLib.Object {
         this.extract_next ();
     }
 
-    private void extract_mime_and_size () {
+    private void extract_mime_and_size () throws Error {
         var file = this.file_queue.peek ();
         FileInfo file_info;
 
@@ -207,7 +211,7 @@ public class Rygel.MetadataExtractor: GLib.Object {
             // signal error to parent
             this.error (file, error);
 
-            return;
+            throw error;
         }
 
         weak string content_type = file_info.get_content_type ();



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