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;

Reply via email to