reassign 426694 libgstreamer0.10-0
tag 426694 + patch
thanks

Le jeudi 31 mai 2007 à 10:18 +0200, Loïc Minier a écrit :
>  Basically, it's a cache, and it's currently not built around the
>  assumption that the "uri_protocol"s supported by a plugin can change
>  without the plugin changing.

Until this is properly fixed in GStreamer, I have written a patch for
gstreamer0.10 that adds a specific case for libgstgnomevfs. It's ugly
but simple, and I have checked it fixes the issue for whatever gnome-vfs
module you could imagine.

>  While it's an interesting problem WRT to updating this list, it's only
>  a real life problem with http support which has been bugging us in
>  plenty of apps since it's not supported by default anymore.  I think it
>  makes sense to revert this change and move back the http module to
>  the default list of gnome-vfs-2.0 modules.

I have checked, and it would bring back the whole Kerberos stack in
libgnomevfs2-0's dependencies. I'd like to avoid that, as it would
completely defeat libgnomevfs2-extra's point.

-- 
 .''`.
: :' :      We are debian.org. Lower your prices, surrender your code.
`. `'       We will add your hardware and software distinctiveness to
  `-        our own. Resistance is futile.
--- gst/gstregistry.c.orig	2007-06-04 22:15:53.761256184 +0200
+++ gst/gstregistry.c	2007-06-04 22:30:15.218347826 +0200
@@ -860,6 +860,14 @@
         gst_object_unref (plugin);
         continue;
       }
+      if (g_str_has_suffix (filename, "/libgstgnomevfs.so")) {
+        /* You are under hypnosis. *
+         * You don't see anything. */
+        struct stat tmp_status;
+        if (!stat (LIBDIR "/gnome-vfs-2.0/modules", &tmp_status)) {
+          file_status.st_mtime = MAX (file_status.st_mtime, tmp_status.st_mtime);
+        }
+      }
       if (plugin->file_mtime == file_status.st_mtime &&
           plugin->file_size == file_status.st_size) {
         GST_LOG_OBJECT (registry, "file %s cached", filename);
--- gst/gstplugin.c.orig	2007-06-04 21:56:41.647600969 +0200
+++ gst/gstplugin.c	2007-06-04 22:16:55.388768136 +0200
@@ -407,6 +407,14 @@
         g_strerror (errno));
     goto return_error;
   }
+  if (g_str_has_suffix (filename, "/libgstgnomevfs.so")) {
+    /* Nobody wrote this code, it spawned spontaneously. *
+     * If someone asks, just pretend you don't know. */
+    struct stat tmp_status;
+    if (!stat (LIBDIR "/gnome-vfs-2.0/modules", &tmp_status)) {
+      file_status.st_mtime = MAX (file_status.st_mtime, tmp_status.st_mtime);
+    }
+  }
 
   module = g_module_open (filename, G_MODULE_BIND_LOCAL);
   if (module == NULL) {

Attachment: signature.asc
Description: Ceci est une partie de message numériquement signée

Reply via email to