Package: libkdegst0.6
Version: 0.6.1-8
Severity: normal
Tags: patch
When using the offered GSTPlay::setAudioSink() method to alter
the audiosink the seekableElements do not get updated leading
to a crash of whichever application uses GSTPlay for playback.
-- System Information:
Debian Release: 3.1
APT prefers testing
APT policy: (990, 'testing'), (200, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.9
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)
Versions of packages libkdegst0.6 depends on:
ii libaudio2 1.7-2 The Network Audio System (NAS). (s
ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an
ii libfontconfig1 2.2.3-4 generic font configuration library
ii libfreetype6 2.1.7-2.3 FreeType 2 font engine, shared lib
ii libgcc1 1:3.4.3-6 GCC support library
ii libglib2.0-0 2.6.1-2 The GLib library of C routines
ii libgstreamer0.6-0 0.6.4-1.1 Core GStreamer libraries, plugins,
ii libice6 4.3.0.dfsg.1-10 Inter-Client Exchange library
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libpopt0 1.7-5 lib for parsing cmdline parameters
ii libqt3c102-mt 3:3.3.3-7 Qt GUI Library (Threaded runtime v
ii libsm6 4.3.0.dfsg.1-10 X Window System Session Management
ii libstdc++5 1:3.3.5-5 The GNU Standard C++ Library v3
ii libx11-6 4.3.0.dfsg.1-10 X Window System protocol client li
ii libxcursor1 1.1.3-1 X cursor management library
ii libxext6 4.3.0.dfsg.1-10 X Window System miscellaneous exte
ii libxft2 2.1.2-6 FreeType-based font drawing librar
ii libxml2 2.6.11-5 GNOME XML library
ii libxrandr2 4.3.0.dfsg.1-10 X Window System Resize, Rotate and
ii libxrender1 0.8.3-7 X Rendering Extension client libra
ii libxt6 4.3.0.dfsg.1-10 X Toolkit Intrinsics
ii xlibs 4.3.0.dfsg.1-10 X Keyboard Extension (XKB) configu
ii zlib1g 1:1.2.2-3 compression library - runtime
-- no debconf information
diff -ur kgst-0.6.1/gst/kde/gstplay/play.cpp
kgst-0.6.1.new/gst/kde/gstplay/play.cpp
--- kgst-0.6.1/gst/kde/gstplay/play.cpp 2003-05-09 22:30:58.000000000 +0200
+++ kgst-0.6.1.new/gst/kde/gstplay/play.cpp 2004-12-31 00:43:08.000000000
+0100
@@ -447,13 +447,14 @@
if (d->audioSink)
{
d->volume->unlink(d->audioSink);
+ d->seekableElements.remove(d->audioSink);
d->pipeline->remove(d->audioSink);
}
d->audioSink = audioSink;
d->pipeline->add(audioSink);
d->volume->link(audioSink);
-
+ d->seekableElements.append(audioSink);
return true;
}
@@ -541,12 +542,14 @@
if (d->audioSink)
{
d->volume->unlink(d->audioSink);
+ d->seekableElements.remove(d->audioSink);
audioBin->remove(d->audioSink);
}
d->audioSink = audioSink;
audioBin->add(audioSink);
d->volume->link(audioSink);
+ d->seekableElements.append(audioSink);
return true;
}
@@ -723,10 +726,12 @@
if (d->videoSink){
videoMate->unlink(d->videoSink);
+ d->seekableElements.remove(d->videoSink);
d->pipeline->remove(d->videoSink);
}
d->videoSink = videoSink;
d->pipeline->add(videoSink);
+ d->seekableElements.append(videoSink);
videoMate->link(videoSink);
return true;
@@ -740,11 +745,13 @@
if (d->audioSink)
{
d->volume->unlink(d->audioSink);
+ d->seekableElements.remove(d->audioSink);
audioBin->remove(d->audioSink);
}
d->audioSink = audioSink;
audioBin->add(audioSink);
+ d->seekableElements.append(audioSink);
d->volume->link(audioSink);
return true;