--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package mlt
It adds two upstream patches - which are also available in 0.8.2 - to fix:
04-cache-memory-leak: Huge memory leak which could cause mlt to leak more than 8 GB
of memory
05-ladspa-crash: Potential crash with ladspa plugins enabled on dlclose()
--- mlt-0.8.0/debian/changelog 2012-07-28 13:44:26.000000000 +0200
+++ mlt-0.8.0/debian/changelog 2012-09-01 13:10:03.000000000 +0200
@@ -1,3 +1,12 @@
+mlt (0.8.0-4) unstable; urgency=low
+
+ * Add upstream patch 04-cache-memory-leak, which fixes a memory leak when
+ using mlt_cache for frames.
+ * Add upstream patch 05-ladspa-crash, which fixes a potential LADSPA crash
+ on dlclose().
+
+ -- Patrick Matthäi <pmatthaei@debian.org> Sat, 01 Sep 2012 13:09:30 +0200
+
mlt (0.8.0-3) unstable; urgency=low
* Disable compression from the luma module on mips. The convert process never
diff -Nru mlt-0.8.0/debian/patches/04-cache-memory-leak.diff mlt-0.8.0/debian/patches/04-cache-memory-leak.diff
--- mlt-0.8.0/debian/patches/04-cache-memory-leak.diff 1970-01-01 01:00:00.000000000 +0100
+++ mlt-0.8.0/debian/patches/04-cache-memory-leak.diff 2012-09-01 13:10:03.000000000 +0200
@@ -0,0 +1,35 @@
+# Upstream patch to fix a memory leak when using mlt_cache for frames.
+
+diff -Naur mlt-0.8.0.orig/src/framework/mlt_cache.c mlt-0.8.0/src/framework/mlt_cache.c
+--- mlt-0.8.0.orig/src/framework/mlt_cache.c 2012-06-01 22:51:32.000000000 +0200
++++ mlt-0.8.0/src/framework/mlt_cache.c 2012-08-28 20:27:03.371711652 +0200
+@@ -83,6 +83,7 @@
+ {
+ int count; /**< the number of items currently in the cache */
+ int size; /**< the maximum number of items permitted in the cache <= \p MAX_CACHE_SIZE */
++ int is_frames; /**< indicates if this cache is used to cache frames */
+ void* *current; /**< pointer to the current array of pointers */
+ void* A[ MAX_CACHE_SIZE ];
+ void* B[ MAX_CACHE_SIZE ];
+@@ -122,6 +123,13 @@
+ {
+ char key[19];
+
++ if ( cache->is_frames )
++ {
++ // Frame caches are easy - just close the object as mlt_frame.
++ mlt_frame_close( object );
++ return;
++ }
++
+ // Fetch the cache item from the active list by its owner's address
+ sprintf( key, "%p", object );
+ mlt_cache_item item = mlt_properties_get_data( cache->active, key, NULL );
+@@ -554,6 +562,7 @@
+
+ // swap the current array
+ cache->current = (void**) alt;
++ cache->is_frames = 1;
+ pthread_mutex_unlock( &cache->mutex );
+ }
+
diff -Nru mlt-0.8.0/debian/patches/05-ladspa-crash.diff mlt-0.8.0/debian/patches/05-ladspa-crash.diff
--- mlt-0.8.0/debian/patches/05-ladspa-crash.diff 1970-01-01 01:00:00.000000000 +0100
+++ mlt-0.8.0/debian/patches/05-ladspa-crash.diff 2012-09-01 13:10:03.000000000 +0200
@@ -0,0 +1,14 @@
+# Upstream patch to fix some LADSPA crashing on dlclose on some systems.
+
+diff -Naur mlt-0.8.0.orig/src/modules/jackrack/plugin_mgr.c mlt-0.8.0/src/modules/jackrack/plugin_mgr.c
+--- mlt-0.8.0.orig/src/modules/jackrack/plugin_mgr.c 2012-06-01 22:51:32.000000000 +0200
++++ mlt-0.8.0/src/modules/jackrack/plugin_mgr.c 2012-08-28 20:32:35.782841105 +0200
+@@ -80,7 +80,7 @@
+ int err;
+
+ /* open the object file */
+- dl_handle = dlopen (filename, RTLD_LAZY);
++ dl_handle = dlopen (filename, RTLD_NOW);
+ if (!dl_handle)
+ {
+ mlt_log_info( NULL, "%s: error opening shared object file '%s': %s\n",
diff -Nru mlt-0.8.0/debian/patches/series mlt-0.8.0/debian/patches/series
--- mlt-0.8.0/debian/patches/series 2012-07-28 13:32:34.000000000 +0200
+++ mlt-0.8.0/debian/patches/series 2012-09-01 13:10:03.000000000 +0200
@@ -1,3 +1,5 @@
01-changed-preset-path.diff
02-allow-file-prefix.diff
03-audio-limits-and-crash.diff
+04-cache-memory-leak.diff
+05-ladspa-crash.diff
unblock mlt/0.8.0-4
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- End Message ---