[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-multimedia
Subject: testsplay stresstest
From: Stefan Westerfeld <stefan () space ! twc ! de>
Date: 2000-08-30 7:34:23
[Download RAW message or body]
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 *-
["testsplay.cpp" (text/plain)]
/*
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;
}
}
["20000830-testsplay-makefile.diff" (text/plain)]
? 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)
_______________________________________________
Kde-multimedia mailing list
Kde-multimedia@master.kde.org
http://master.kde.org/mailman/listinfo/kde-multimedia
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic