diff options
| author | Colin Guthrie <cguthrie@mandriva.org> | 2009-03-25 23:05:41 +0000 | 
|---|---|---|
| committer | Colin Guthrie <cguthrie@mandriva.org> | 2009-03-25 23:05:41 +0000 | 
| commit | 205cbe8afcf83ac7392b90ba8c73f40b798104c6 (patch) | |
| tree | 4cc1dad4811751d7ce024deaa625232e9300eb98 | |
| parent | 39576ec829b7576d4ab240526bc6cd76dae5c35b (diff) | |
raop: Add call to pa_sink_set_max_request()
This is just a copy from the ESD version which is a little crude, but will do for now.
| -rw-r--r-- | src/modules/module-raop-sink.c | 11 | 
1 files changed, 10 insertions, 1 deletions
diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c index 00f0c63c..d8ddf184 100644 --- a/src/modules/module-raop-sink.c +++ b/src/modules/module-raop-sink.c @@ -135,13 +135,22 @@ enum {  /* Forward declaration */  static void sink_set_volume_cb(pa_sink *); -static void on_connection(PA_GCC_UNUSED int fd, void*userdata) { +static void on_connection(int fd, void*userdata) { +    int so_sndbuf = 0; +    socklen_t sl = sizeof(int);      struct userdata *u = userdata;      pa_assert(u);      pa_assert(u->fd < 0);      u->fd = fd; +    if (getsockopt(u->fd, SOL_SOCKET, SO_SNDBUF, &so_sndbuf, &sl) < 0) +        pa_log_warn("getsockopt(SO_SNDBUF) failed: %s", pa_cstrerror(errno)); +    else { +        pa_log_debug("SO_SNDBUF is %zu.", (size_t) so_sndbuf); +        pa_sink_set_max_request(u->sink, PA_MAX((size_t) so_sndbuf, u->block_size)); +    } +      /* Set the initial volume */      sink_set_volume_cb(u->sink);  | 
