Uff... Subject forgotten :(
Sorry for my lameness!

On Mon, 05 Mar 2012, David Coppa wrote:

> I'd like to remove this "write_size" constraint, as suggested by
> jakemsr@ some time ago:
> 
> http://marc.info/?l=openbsd-ports&m=128630571914847
> 
> http://marc.info/?l=openbsd-ports&m=128630890119517
> 
> As jake said, 1024 bytes is only 256 samples of 16-bit stereo.
> At 44.1kHz, that's only 5.8 miliseconds. If mpd takes more than
> 5.8 ms between writes, for whatever reason, it will skip.
> So, this represents a performance penalty on fast machines and
> afaik sndiod should already cope with eventual stuffups just
> fine on slower ones...
> 
> Alexandre, what do you think about this? Is it reasonable?
> 
> ciao
> David

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/mpd/Makefile,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile
--- Makefile    4 Mar 2012 16:57:19 -0000       1.43
+++ Makefile    5 Mar 2012 10:10:23 -0000
@@ -2,6 +2,7 @@
 
 COMMENT =              Music Player Daemon
 DISTNAME =             mpd-0.16.7
+REVISION =             0
 CATEGORIES =           audio
 HOMEPAGE =             http://www.musicpd.org/
 MAINTAINER =           David Coppa <dco...@openbsd.org>
Index: patches/patch-doc_mpd_conf_5
===================================================================
RCS file: patches/patch-doc_mpd_conf_5
diff -N patches/patch-doc_mpd_conf_5
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-doc_mpd_conf_5        5 Mar 2012 10:10:23 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+Remove "write_size" constraint. See:
+http://marc.info/?l=openbsd-ports&m=128630571914847
+http://marc.info/?l=openbsd-ports&m=128630890119517
+
+--- doc/mpd.conf.5.orig        Mon Mar  5 10:33:42 2012
++++ doc/mpd.conf.5     Mon Mar  5 10:34:09 2012
+@@ -390,11 +390,6 @@ for available options for some commonly used drivers. 
+ using "=", and ";" is used to separate options.  An example for oss:
+ "dsp=/dev/dsp".  An example for alsa09: "dev=hw:0,0;buf_size=4096".  The
+ default is "".
+-.TP
+-.B write_size <size in bytes>
+-This specifies how many bytes to write to the audio device at once.  This
+-parameter is to work around a bug in older versions of libao on sound cards
+-with very small buffers.  The default is 1024.
+ .SH REQUIRED FIFO OUTPUT PARAMETERS
+ .TP
+ .B path <path>
Index: patches/patch-src_output_ao_plugin_c
===================================================================
RCS file: patches/patch-src_output_ao_plugin_c
diff -N patches/patch-src_output_ao_plugin_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_output_ao_plugin_c        5 Mar 2012 10:10:23 -0000
@@ -0,0 +1,35 @@
+$OpenBSD$
+
+Remove "write_size" constraint. See:
+http://marc.info/?l=openbsd-ports&m=128630571914847
+http://marc.info/?l=openbsd-ports&m=128630890119517
+
+--- src/output/ao_plugin.c.orig        Mon Mar  5 10:34:57 2012
++++ src/output/ao_plugin.c     Mon Mar  5 10:35:21 2012
+@@ -32,7 +32,6 @@ static const ao_sample_format OUR_AO_FORMAT_INITIALIZE
+ static unsigned ao_output_ref;
+ 
+ struct ao_data {
+-      size_t write_size;
+       int driver;
+       ao_option *options;
+       ao_device *device;
+@@ -89,8 +88,6 @@ ao_output_init(G_GNUC_UNUSED const struct audio_format
+ 
+       ad->options = NULL;
+ 
+-      ad->write_size = config_get_block_unsigned(param, "write_size", 1024);
+-
+       if (ao_output_ref == 0) {
+               ao_initialize();
+       }
+@@ -230,9 +227,6 @@ ao_output_play(void *data, const void *chunk, size_t s
+              GError **error)
+ {
+       struct ao_data *ad = (struct ao_data *)data;
+-
+-      if (size > ad->write_size)
+-              size = ad->write_size;
+ 
+       if (ao_play_deconst(ad->device, chunk, size) == 0) {
+               ao_output_error(error);

Reply via email to