On 2009/03/22 11:43, Kodest <kod...@gmail.com> wrote:
> Just tell me when i can check the wakeups again :)

Submit a bug report, we'll add it to the 0.15 roadmap.

> Is there any docs on how the output mechanism works? I would be
> interested in how the audio chunks travel among the different
> threads at the output subsystem, but the code is quite
> complex. Maybe I can help if i understand this one. (Only maybe
> because my time is really limited nowadays.)

Yes, I've been missing your regular contributions in the past months
;)

Basically: the decoder thread feeds music_chunk objects into a
music_pipe.  The player thread takes them from there, and appends them
to the output's music_pipe instance.  The output threads now consume
them.  When all output threads have consumed a music_chunk, it is
freed (returned to the music_buffer).

The frequent wakeups (supposedly) come from the threads waiting for
more chunks, or waiting for enough room in the pipe, or waiting for
free chunks in the music_buffer.  They're just using g_usleep(10ms) to
synchronize, because I havn't had time to think about the proper
solution yet (using GCond or struct notify).

For most setups (small buffers, low latency), the
music_pipe/chunk/buffer code is more efficient than the old method
(fully synchronous buffer passing), but for your setup, it's worse.
We will optimize MPD for all possible use cases.

I believe it'll take some time to fully understand that code, so if
you have little time, I promise to fix it this week.

Max

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to