From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Ossman Subject: Re: [RFC][PATCH] Transparent network support through polypaudio Date: Tue, 14 Feb 2006 11:35:26 +0100 Message-ID: <43F1B26E.5@cendio.se> References: <43F09D76.9060004@cendio.se> <20060214094741.GA8943@turing.informatik.uni-halle.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mail.cendio.se (mail.cendio.se [193.12.253.69]) by alsa.jcu.cz (ALSA's E-mail Delivery System) with ESMTP id 1A9EB189 for ; Tue, 14 Feb 2006 11:35:29 +0100 (MET) In-Reply-To: <20060214094741.GA8943@turing.informatik.uni-halle.de> Sender: alsa-devel-admin@lists.sourceforge.net Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Clemens Ladisch Cc: alsa-devel@alsa-project.org, mzcbylcnhqvb@0pointer.de List-Id: alsa-devel@alsa-project.org Clemens Ladisch wrote: > Pierre Ossman wrote: > >>I've implemented an ALSA plugin that allows any well-behaved ALSA >>application transparently use the Polypaudio network protocol. >> >>It is my desire to have this included in ALSA (-lib preferably) so that >>it will be included in most dists. > > > It's dependent on polypaudio, so it should better go into the > alsa-plugins package. > I suppose. Then it's just the matter of getting that packaged into the dists (fedora doesn't). > >>Since some applications do not use these in a sane manner > > > Nothing in the ALSA API requires applications to use poll() (or to use > blocking writes). > > >>(I'm looking at you mplayer) > > > And you're speaking with mplayer's ALSA driver maintainer. > Is there anything wrong with mplayer? ;-) > Technically no. It's just that it does things in way that makes my life more difficult. :) Btw, mplayer seems to call snd_pcm_prepare() twice. Not sure if that's valid behaviour. > >>the mainloop abstraction is also run on most of the ALSA plugin >>callbacks. > > > When an applicatioh disables the stop_threshold, the device is supposed > to continue playing with the current buffer contents (which _is_ a > rather extreme case). > The ring buffer design is very difficult to emulate when you have a simple queue. Since few (if any) application will rely on this behaviour, I've decided to ignore it for now. > I think you may be required to use a timer for the mainloop. What does > polypaudio actually do in this callback? How often must it be called? > Primarily updates to available buffer space on the server. As for how often, I don't really know. Once every period would be a safe guess. A timer wouldn't be that easy to implement. I want to avoid putting more stuff in another thread since the current solution allows me to avoid locks. Rgds -- Pierre Ossman Telephone: +46-13-21 46 00 Cendio AB Web: http://www.cendio.com ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642