--gBBFr7Ir9EOA20Yy Content-Type: text/plain; charset=us-ascii Hi! I've debugged a bit with the aRts mp3 playobject and the mpeglibartsplay stresstest, and managed to reproduce both problems that this causes without aRts. I simply turned the mpeglib splay example in a stresstest, and it causes - the memory leak - the segfault in the same way. Maybe this simplifies debugging. I've attached a patch which you can apply to kdemultimedia/mpeglib/example/splay/Makefile.am, and the additional stresstest program called testsplay. Cu... Stefan -- -* Stefan Westerfeld, stefan@space.twc.de (PGP!), Hamburg/Germany KDE Developer, project infos at http://space.twc.de/~stefan/kde *- --gBBFr7Ir9EOA20Yy Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="testsplay.cpp" /* Stress test for the SPlay plugin. */ #include "../../lib/splay/splayPlugin.h" #include "../../lib/tplay/tplayPlugin.h" #include "../../lib/input/bufferInputStream.h" #include "../../lib/output/avSyncer.h" int main(int argc, char** argv) { if (argc <= 1) { printf("Usage:\n\n"); printf("%s filename\n\n",argv[0]); exit(0); } // // The order is important !!!! // 1. construct // 2. set Output // 3. open input // 4. set input // // you cannot set the input _before_ the output // in fact you can, but this gives you a segfault! for(int cnt = 0;cnt != 100000; cnt++) { cout << "count = " << cnt << endl; SplayPlugin* plugin=new SplayPlugin(); OutputStream* out=OutPlugin::createOutputStream(_OUTPUT_LOCAL); InputStream* in=InputPlugin::createInputStream(argv[1]); // The plugin does not do "open" in->open(argv[1]); // watch the order! plugin->setOutputPlugin(out); plugin->setInputPlugin(in); plugin->play(); usleep(30000); out->audioClose(); plugin->close(); delete plugin; delete in; delete out; } } --gBBFr7Ir9EOA20Yy Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="20000830-testsplay-makefile.diff" ? testsplay.cpp Index: Makefile.am =================================================================== RCS file: /home/kde/kdemultimedia/mpeglib/example/splay/Makefile.am,v retrieving revision 1.1.1.1 diff -b -u -p -r1.1.1.1 Makefile.am --- Makefile.am 2000/07/04 19:22:47 1.1.1.1 +++ Makefile.am 2000/08/30 07:28:56 @@ -4,7 +4,7 @@ INCLUDES = -I../../include $(all_includ # EXTRA_DIST = stresstest -noinst_PROGRAMS = splay +noinst_PROGRAMS = splay testsplay splay_SOURCES = splay.cpp @@ -18,6 +18,9 @@ splay_LDADD = ../../lib/libmpeg.la \ $(XVLIBS) $(DGALIBS) \ $(SDLLIB) $(LIBPTHREAD) +testsplay_SOURCES = testsplay.cpp +testsplay_LDFLAGS = $(all_libraries) +testsplay_LDADD = $(splay_LDADD) --gBBFr7Ir9EOA20Yy-- _______________________________________________ Kde-multimedia mailing list Kde-multimedia@master.kde.org http://master.kde.org/mailman/listinfo/kde-multimedia