From kde-multimedia Wed Jul 19 21:22:39 2000 From: Martin Vogt Date: Wed, 19 Jul 2000 21:22:39 +0000 To: kde-multimedia Subject: Re: JEL - a job execution layer for aRts X-MARC-Message: https://marc.info/?l=kde-multimedia&m=96404231500301 On Wed, Jul 19, 2000 at 10:50:19PM +0200, Stefan Westerfeld wrote: > Hi! > > On Wed, Jul 19, 2000 at 06:43:07PM +0200, Martin Vogt wrote: > > On Wed, Jul 19, 2000 at 12:48:49AM +0200, Stefan Westerfeld wrote: > > > We can't do ... because it takes more than ... ms. Specially in the > > > PlayObject discussion: we can't create a new PlayObject each time, because > > > it takes to long to initialize and thus causes dropouts. > > > > I have looked at it, but currently does not see > > how it solves the problem. > > > But let me briefly go through the latency log and comment on how I think a > job execution layer might help. > > ** mpeglibartsplay /home/stefan/file02.mp3 > > DBO: constructor > DBO: loadmedia > IOManager: latency for operation: 16.594 ms (1) > IOManager: latency for operation: 1.806 ms > DBO: play > IOManager: latency for operation: 12.991 ms (2) > > I am not sure if anything can be done about (1) with JEL. However, lets look > at the others. For simplicity, I'll assume that you only have one local > variable, decoderPlugin, that has to be dealt with. > > (2) I am not sure why exactly it blocks. However, suppose its in the > play() implementation, then you could rewrite it like this: > this should do the job for (2): void DecoderBaseObject_impl::play() { Command cmd(_COMMAND_PLAY); decoderPlugin->insertAsyncCommand(&cmd); setStreamState(_THREADSTATE_PLAYING); _state = posPlaying; } mpeglib is already threaded. > (3) The destructor should probably look like > > DecoderBaseObject_impl::~DecoderBaseObject_impl() > { > Job *job = new DeleteDecoderJob(decoderPlugin); > job->release(); > } > Yes, this would be faster. I will have a closer look at this. Maybe its possible to work with the JobScheduar. Maybe there are races which I dont see now. Martin _______________________________________________ Kde-multimedia mailing list Kde-multimedia@master.kde.org http://master.kde.org/mailman/listinfo/kde-multimedia