[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: aRts as KDE2.0 audio server
From:       Martin Vogt <mvogt () rhrk ! uni-kl ! de>
Date:       1999-09-08 16:32:26
[Download RAW message or body]

On Wed, Sep 08, 1999 at 12:59:13AM +0200, Stefan Westerfeld wrote:
>    Hi!
> 
> On Tue, Sep 07, 1999 at 10:26:38PM +0200, Martin Vogt wrote:
> > ok here the new results, with the "example_mixer_nosat.arts" 
> > This looks better :)
> > But still it uses :
> > 
> > 19288 m_vogt    15   0  6512 6512  3464 R       0 21.4 10.3   0:10 artsserver.b
> > 19297 m_vogt     8   0  1044 1044   824 R       0  3.6  1.6   0:00 top
> >  
> > 20 % of my cpu, when nothing is played (!).
> 
> Well, yes - I think I need to implement a "power saving" function or
> something like that, which does disable unused components of a flow
> graph. I will probably work on a special low CPU usage only audio
> server set of structures/modules, which should bring down the CPU load
> quite a bit further.
>
This is a must.
Its inaccepible to use 20 % of cpu if nothing is done.
 
> By the way: standard mixing behaviour... what would be good here? I know
> that you would feel better if calling artsmp3 just started playing,
> without any further user interaction. I also know you want dynamically
> added mixer channels (instead of statically configured ones).
>
This is a must as well.
You don't need a mixer for one channel at all.
(I think this is the case for 99% of the time)

But you need one if you have more then one channel.


> So the question arises: how loud shall the first mp3 be played? 100%?
> 50%? What should happen if 16 bit are not enough to do all the output?
> Clipping? Saturation filter?

For one channel the setVolume call goes directly to the mixer.
For more, it must be done in software.
Btw: ESD cant do this. You have no setVolume call to give
the daemon the hint how loud this sample should be.

ESD has a few other shortcomings as well (cannot re init streams,
because the setting of framesize,channels and rate is tightly bound
to the open socket call)


The problem to have different sample sizes (eg mono 8 bit and stero 16
bit) with different frequencies, well.
BeOs can't handle this. ESD can't handle this.
Does any one know what Windows does in this case (crash?)

I still think:

audioserver != multimedia framework.

Why is it not possible to use esd _and_ the CORBA interface together?

I would prefer a small, tested audioserver which does not more
than take stream mix them and pass them to /dev/dsp.

The multimedia framework (with the whole CORBA overhead) is seperated.
The framework should support "remote decodeing of eg. mp3" maybe have
this saturation filters (what does this actually do?) and maybe
have some other filters as well (eg fft for these nice winamp analysis)
But then the framework sends the data (finally) to the audioserver.

I don't like the idea to use CORBA only to play a simple wav file.


regards,


Martin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic