From 0798d67b2dd852c9ca7ed7df63258e063c9ebbf2 Mon Sep 17 00:00:00 2001
From: Rudi Grinberg <rudi.grinberg@sourcefabric.org>
Date: Wed, 5 Sep 2012 16:04:59 -0400
Subject: [PATCH] cc-4350: Possible fix.

---
 python_apps/media-monitor2/media/monitor/events.py   | 6 +++---
 python_apps/media-monitor2/media/monitor/metadata.py | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/python_apps/media-monitor2/media/monitor/events.py b/python_apps/media-monitor2/media/monitor/events.py
index 660ff4c40..1941ea5b1 100644
--- a/python_apps/media-monitor2/media/monitor/events.py
+++ b/python_apps/media-monitor2/media/monitor/events.py
@@ -113,9 +113,9 @@ class BaseEvent(Loggable):
         self._raw_event   = evt
         self.path         = evt.path
         self.__class__    = evt.__class__
-        # We don't transfer the _pack_hook over to the new event
-        # TODO : perhaps we should call the old events pack_hook just to make
-        # sure everything is done cleanly?
+        # Clean up old hook and transfer the new events hook
+        self.reset_hook()
+        self.add_safe_pack_hook( evt._pack_hook )
         return self
 
     def assign_owner(self,req):
diff --git a/python_apps/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor2/media/monitor/metadata.py
index 7405d3b12..6f45ab8f1 100644
--- a/python_apps/media-monitor2/media/monitor/metadata.py
+++ b/python_apps/media-monitor2/media/monitor/metadata.py
@@ -172,6 +172,7 @@ class Metadata(Loggable):
             return
         # TODO : Simplify the way all of these rules are handled right not it's
         # extremely unclear and needs to be refactored.
+        if full_mutagen is None: full_mutagen = {}
         self.__metadata = Metadata.airtime_dict(full_mutagen)
         # Now we extra the special values that are calculated from the mutagen
         # object itself: