// vim:ts=2:sw=2:sts=2:et /** Starter for plugins. The plugins are identified by their extension .wav ->WavPlayObject .mp3 ->MP3PlayObject .mpg ->MPGPlayObject .ogg ->OGGPlayObject */ #include "soundserver.h" #include "kmedia2.h" #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include using namespace std; #if defined(HAVE_GETOPT_H) #include #endif string file1; string file2; Arts::Dispatcher* d=0; Arts::SimpleSoundServer* server=0; void usage() { cout << "mpeglibartsply command line tool for arts playobjects"<isNull()) { cerr << "Can't connect to sound server" << endl; exit(0); } } void destroyServer() { delete server; delete d; } /** create destroy playobjects without playing anything */ void doStress1() { int cnt=0; while (cnt < 10000) { Arts::PlayObject play=server->createPlayObject(file1); cout << "cnt:"<createPlayObject(file1); play.play(); sleep(3); Arts::poTime seekTime; seekTime.seconds=100; seekTime.ms=0; play.seek(seekTime); cout << "cnt:"<createPlayObject(file1); play.play(); long secs=0; while(1) { cout << "waiting for length info.."< 0) break; } // do not jump near to end, the danger that // we get an eof is to high if (secs < 100) { cout << "file to short for test"< seekPos) { break; } if (current.seconds == seekPos) { if (current.ms > 0) { break; } } usleep(50000); } } cout << "stresstest successfully passed."<= argc ) { usage(); exit(-1); } if (optind < argc ) { file1=argv[optind]; optind++; file2=file1; } if (optind < argc ) { file2=argv[optind]; } switch(testNr) { case 1: { doStress1(); break; } case 2: { doStress2(); break; } case 3: { doStress3(); break; } default: if (file1[0] != '/') { char buf[PATH_MAX+1]; char *path = getcwd(buf, PATH_MAX - file1.length()); if (path) { file1.insert(0, "/"); file1.insert(0, path); } } Arts::PlayObject play=server->createPlayObject(file1); if (play.isNull()) { cout << "cannot play this"<