Package: coherence
Version: 0.6.6.2-5
Severity: normal
Tags: patch
User: [email protected]
Usertags: origin-ubuntu oneiric ubuntu-patch

In Ubuntu, the attached patch was applied to achieve the following:

  * Apply patch from Martin Bartlett that resolves Coherence and
    Rhythmbox UPNP not seeing a media server. (LP: #621722)


Thanks for considering the patch.


-- System Information:
Debian Release: wheezy/sid
  APT prefers oneiric-updates
  APT policy: (500, 'oneiric-updates'), (500, 'oneiric-security'), (500, 
'oneiric-proposed'), (500, 'oneiric')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.0-7-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru coherence-0.6.6.2/debian/patches/03_last_updated_service_field_workaround coherence-0.6.6.2/debian/patches/03_last_updated_service_field_workaround
--- coherence-0.6.6.2/debian/patches/03_last_updated_service_field_workaround	1969-12-31 19:00:00.000000000 -0500
+++ coherence-0.6.6.2/debian/patches/03_last_updated_service_field_workaround	2011-07-28 18:06:53.000000000 -0400
@@ -0,0 +1,23 @@
+Description: Force an update of the last_time_updated service field so that some clients will refresh
+Forwarded: http://coherence.beebits.net/ticket/320
+Author: Martin Bartlett
+Reviewed-By: Daniel T Chen <[email protected]>
+Origin: Martin Bartlett, https://bugs.launchpad.net/ubuntu/+source/coherence/+bug/621722/+attachment/1515639/+files/service.py.patch
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/coherence/+bug/621722
+Last-Update: 2011-07-28
+
+--- coherence/service.py	2010-08-24 16:23:50.000000000 +0200
++++ ./coherence/upnp/core/service.py	2010-08-24 16:21:23.000000000 +0200
+@@ -368,6 +368,12 @@
+             self.detection_completed = True
+             louie.send('Coherence.UPnP.Service.detection_completed', sender=self.device, device=self.device)
+             self.info("send signal Coherence.UPnP.Service.detection_completed for %r" % self)
++            if self.last_time_updated == None:
++                # The clients (e.g. media_server_client) check for last time to detect whether service detection is complete
++                # so we need to set it here and now to avoid a potential race condition
++                self.last_time_updated = time.time()
++                louie.send('Coherence.UPnP.DeviceClient.Service.notified', sender=self.device, service=self)
++                self.info("send signal Coherence.UPnP.DeviceClient.Service.notified for %r" % self)
+             """
+             if (self.last_time_updated == None):
+                 if( self.id.endswith('AVTransport') or
diff -Nru coherence-0.6.6.2/debian/patches/series coherence-0.6.6.2/debian/patches/series
--- coherence-0.6.6.2/debian/patches/series	2010-06-07 15:34:41.000000000 -0400
+++ coherence-0.6.6.2/debian/patches/series	2011-07-28 18:00:21.000000000 -0400
@@ -1,2 +1,3 @@
 02_string_exception_fix
 01_systray_fix
+03_last_updated_service_field_workaround

Reply via email to