[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-multimedia
Subject: Re: JEL - a job execution layer for aRts
From: Martin Vogt <mvogt () rhrk ! uni-kl ! de>
Date: 2000-07-19 21:22:39
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic