[rygel] core: Add error event for failing files



commit ff0bf6abd2dd748770c1fe773402f27e7898c1e8
Author: Jens Georg <mail jensge org>
Date:   Sun May 24 16:21:14 2009 +0200

    core: Add error event for failing files

 src/rygel/rygel-metadata-extractor.vala |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/src/rygel/rygel-metadata-extractor.vala b/src/rygel/rygel-metadata-extractor.vala
index b02d1df..e2bfd24 100644
--- a/src/rygel/rygel-metadata-extractor.vala
+++ b/src/rygel/rygel-metadata-extractor.vala
@@ -55,6 +55,11 @@ public class Rygel.MetadataExtractor: GLib.Object {
     /* Signals */
     public signal void extraction_done (string uri, Gst.TagList tag_list);
 
+    /**
+     * Signalize that an error occured during metadata extraction
+     */
+    public signal void error (File file, Error err);
+
     private TagList tag_list;
 
     private ArrayList<File> file_queue;
@@ -156,9 +161,12 @@ public class Rygel.MetadataExtractor: GLib.Object {
             debug = error.message;
         }
 
-        critical ("Failed to extract metadata from %s: %s\n",
+        warning ("Failed to extract metadata from %s: %s\n",
                   this.playbin.uri, debug);
 
+        // signalize error to listeners
+        this.error (this.file_queue.get (0), error);
+
         /* We have a list of URIs to harvest, so lets jump to next one */
         this.playbin.set_state (State.NULL);
         this.tag_list = new Gst.TagList ();
@@ -177,9 +185,12 @@ public class Rygel.MetadataExtractor: GLib.Object {
                                          FileQueryInfoFlags.NONE,
                                          null);
         } catch (Error error) {
-            critical ("Failed to query content type for '%s'\n",
+            warning ("Failed to query content type for '%s'\n",
                       file.get_uri ());
 
+            // signal error to parent
+            this.error (file, error);
+
             return;
         }
 



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