[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master-tx, updated. v0.9.15-test7-30-gecba42b

Lennart Poettering gitmailer-noreply at 0pointer.de
Sat Apr 4 18:16:35 PDT 2009


This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.

The master-tx branch has been updated
      from  82d1301e9cf68b1c84358a8c064025cf7207ea7c (commit)

- Log -----------------------------------------------------------------
ecba42b run make po-update
9416cdf Merge commit 'origin/master-tx'
6ba3333 Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
923c5bc make it easy to disable interpolation in the interpolation test tool
14e11e4 Fix a couple of races in native protocol
7dafa87 don't try to outsmart the transport
ce73e71 introduce pa_{sink|source}_get_latency_within_thread()
d035f4a Modify smoothing code to make cubic interpolation optional and allow 'quick fixups' on resuming
ca39fa2 initialize sound cards only after the 'control' object appeared
9bea250 increase log buffer further
77a1e38 refuse to initialize on modem devices
f708328 add missing files to POTFILES.in
99f45a6 run make update-po
f446f0e Merge commit 'origin/master-tx'
8bcb9c6 various spelling fixes
ccaf765 POTFILES.IN: Refer to src/pulsecore/dbus-util.c
6152c52 Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
143e1ba downgrade a few messages
1c26d7e plot the difference between system and sound card time
373b5ef properly account for seeks in the requested_bytes counter
380e97a use machine id instead of hostname to identify local connections
dcb24f5 load bt discover module only when installed
-----------------------------------------------------------------------

Summary of changes:
 po/POTFILES.in                                  |    7 +-
 po/ca.po                                        |  910 ++++++++++++++--------
 po/cs.po                                        |  297 +++++---
 po/de.po                                        |  297 +++++---
 po/el.po                                        |  297 +++++---
 po/es.po                                        |  839 +++++++++++++--------
 po/fi.po                                        |  347 ++++++----
 po/fr.po                                        |  297 +++++---
 po/it.po                                        |  310 +++++---
 po/pa.po                                        |  297 +++++---
 po/pl.po                                        |  298 +++++---
 po/pt_BR.po                                     |  297 +++++---
 po/sv.po                                        |  297 +++++---
 po/zh_CN.po                                     |  322 +++++---
 src/daemon/default.pa.in                        |    4 +-
 src/daemon/main.c                               |    8 +-
 src/modules/alsa/alsa-sink.c                    |   24 +-
 src/modules/alsa/alsa-source.c                  |   17 +-
 src/modules/alsa/alsa-util.c                    |   16 +-
 src/modules/alsa/alsa-util.h                    |    2 +
 src/modules/bluetooth/module-bluetooth-device.c |   11 +-
 src/modules/module-combine.c                    |   11 +-
 src/modules/module-esound-sink.c                |   11 +-
 src/modules/module-hal-detect.c                 |   30 +-
 src/modules/module-ladspa-sink.c                |    2 +-
 src/modules/module-raop-discover.c              |    2 +-
 src/modules/module-raop-sink.c                  |   11 +-
 src/modules/module-tunnel.c                     |   13 +-
 src/modules/module-x11-publish.c                |    8 +-
 src/modules/module-zeroconf-discover.c          |    2 +-
 src/modules/rtp/module-rtp-recv.c               |   16 +-
 src/modules/rtp/rtsp_client.c                   |    4 +-
 src/pulse/channelmap.h                          |    6 +-
 src/pulse/client-conf.h                         |    2 +-
 src/pulse/context.c                             |    4 +-
 src/pulse/def.h                                 |   18 +-
 src/pulse/internal.h                            |    4 +-
 src/pulse/introspect.h                          |    6 +-
 src/pulse/mainloop.h                            |    2 +-
 src/pulse/proplist.h                            |    2 +-
 src/pulse/pulseaudio.h                          |    2 +-
 src/pulse/sample.h                              |    4 +-
 src/pulse/stream.c                              |   50 +-
 src/pulse/subscribe.h                           |    2 +-
 src/pulse/timeval.h                             |    2 +-
 src/pulsecore/authkey.c                         |    2 +-
 src/pulsecore/core-util.c                       |    4 +-
 src/pulsecore/log.c                             |    2 +-
 src/pulsecore/memblockq.c                       |   18 +-
 src/pulsecore/memblockq.h                       |    2 +-
 src/pulsecore/parseaddr.c                       |   10 +-
 src/pulsecore/protocol-native.c                 |  168 +++--
 src/pulsecore/sink-input.c                      |    4 +-
 src/pulsecore/sink-input.h                      |    2 +-
 src/pulsecore/sink.c                            |   26 +
 src/pulsecore/sink.h                            |    2 +
 src/pulsecore/socket-server.c                   |   22 +-
 src/pulsecore/source-output.c                   |    2 +-
 src/pulsecore/source.c                          |   26 +
 src/pulsecore/source.h                          |    1 +
 src/pulsecore/time-smoother.c                   |   41 +-
 src/pulsecore/time-smoother.h                   |   14 +-
 src/tests/interpol-test.c                       |   27 +-
 src/tests/memblockq-test.c                      |   18 +-
 src/tests/smoother-test.c                       |    8 +-
 65 files changed, 3678 insertions(+), 2129 deletions(-)

-----------------------------------------------------------------------

commit dcb24f5068f54f0fd3c30b691b8e3735973d008b
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Apr 1 16:15:27 2009 +0200

    load bt discover module only when installed

diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in
index 57ccd9f..fa0683e 100755
--- a/src/daemon/default.pa.in
+++ b/src/daemon/default.pa.in
@@ -58,9 +58,9 @@ load-module module-detect
 .endif
 
 ### Automatically load driver modules for Bluetooth hardware
-#.ifexists module-bluetooth-discover at PA_SOEXT@
+.ifexists module-bluetooth-discover at PA_SOEXT@
 load-module module-bluetooth-discover
-#.endif
+.endif
 
 ### Load several protocols
 .ifexists module-esound-protocol-unix at PA_SOEXT@

commit 380e97a596e8e7be122285b005a50635e20d58fc
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Apr 1 21:15:52 2009 +0200

    use machine id instead of hostname to identify local connections

diff --git a/src/modules/module-x11-publish.c b/src/modules/module-x11-publish.c
index 7d71067..83e69d1 100644
--- a/src/modules/module-x11-publish.c
+++ b/src/modules/module-x11-publish.c
@@ -136,7 +136,7 @@ static void x11_kill_cb(pa_x11_wrapper *w, void *userdata) {
 int pa__init(pa_module*m) {
     struct userdata *u;
     pa_modargs *ma = NULL;
-    char hn[256], un[128];
+    char *mid;
     char hx[PA_NATIVE_COOKIE_LENGTH*2+1];
     const char *t;
 
@@ -164,10 +164,10 @@ int pa__init(pa_module*m) {
     if (!(u->x11_wrapper = pa_x11_wrapper_get(m->core, pa_modargs_get_value(ma, "display", NULL))))
         goto fail;
 
-    if (!pa_get_fqdn(hn, sizeof(hn)) || !pa_get_user_name(un, sizeof(un)))
-        goto fail;
+    mid = pa_machine_id();
+    u->id = pa_sprintf_malloc("%lu@%s/%lu", (unsigned long) getuid(), mid, (unsigned long) getpid());
+    pa_xfree(mid);
 
-    u->id = pa_sprintf_malloc("%s@%s/%u", un, hn, (unsigned) getpid());
     pa_x11_set_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_ID", u->id);
 
     publish_servers(u, pa_native_protocol_servers(u->protocol));
diff --git a/src/pulsecore/parseaddr.c b/src/pulsecore/parseaddr.c
index c5cd7fe..5b53122 100644
--- a/src/pulsecore/parseaddr.c
+++ b/src/pulsecore/parseaddr.c
@@ -87,13 +87,15 @@ int pa_parse_address(const char *name, pa_parsed_address *ret_p) {
     ret_p->type = PA_PARSED_ADDRESS_TCP_AUTO;
 
     if (*name == '{') {
-        char hn[256], *pfx;
-        /* The URL starts with a host specification for detecting local connections */
+        char *id, *pfx;
 
-        if (!pa_get_host_name(hn, sizeof(hn)))
+        /* The URL starts with a host id for detecting local connections */
+        if (!(id = pa_machine_id()))
             return -1;
 
-        pfx = pa_sprintf_malloc("{%s}", hn);
+        pfx = pa_sprintf_malloc("{%s}", id);
+        pa_xfree(id);
+
         if (!pa_startswith(name, pfx)) {
             pa_xfree(pfx);
             /* Not local */
diff --git a/src/pulsecore/socket-server.c b/src/pulsecore/socket-server.c
index 6a4405e..8147b27 100644
--- a/src/pulsecore/socket-server.c
+++ b/src/pulsecore/socket-server.c
@@ -467,11 +467,13 @@ char *pa_socket_server_get_address(pa_socket_server *s, char *c, size_t l) {
                 pa_snprintf(c, l, "tcp6:%s:%u", fqdn, (unsigned) ntohs(sa.sin6_port));
 
             } else if (memcmp(&in6addr_loopback, &sa.sin6_addr, sizeof(in6addr_loopback)) == 0) {
-                char hn[256];
-                if (!pa_get_host_name(hn, sizeof(hn)))
+                char *id;
+
+                if (!(id = pa_machine_id()))
                     return NULL;
 
-                pa_snprintf(c, l, "{%s}tcp6:localhost:%u", hn, (unsigned) ntohs(sa.sin6_port));
+                pa_snprintf(c, l, "{%s}tcp6:localhost:%u", id, (unsigned) ntohs(sa.sin6_port));
+                pa_xfree(id);
             } else {
                 char ip[INET6_ADDRSTRLEN];
 
@@ -503,11 +505,13 @@ char *pa_socket_server_get_address(pa_socket_server *s, char *c, size_t l) {
 
                 pa_snprintf(c, l, "tcp:%s:%u", fqdn, (unsigned) ntohs(sa.sin_port));
             } else if (sa.sin_addr.s_addr == INADDR_LOOPBACK) {
-                char hn[256];
-                if (!pa_get_host_name(hn, sizeof(hn)))
+                char *id;
+
+                if (!(id = pa_machine_id()))
                     return NULL;
 
-                pa_snprintf(c, l, "{%s}tcp:localhost:%u", hn, (unsigned) ntohs(sa.sin_port));
+                pa_snprintf(c, l, "{%s}tcp:localhost:%u", id, (unsigned) ntohs(sa.sin_port));
+                pa_xfree(id);
             } else {
                 char ip[INET_ADDRSTRLEN];
 
@@ -523,15 +527,15 @@ char *pa_socket_server_get_address(pa_socket_server *s, char *c, size_t l) {
         }
 
         case SOCKET_SERVER_UNIX: {
-            char hn[256];
+            char *id;
 
             if (!s->filename)
                 return NULL;
 
-            if (!pa_get_host_name(hn, sizeof(hn)))
+            if (!(id = pa_machine_id()))
                 return NULL;
 
-            pa_snprintf(c, l, "{%s}unix:%s", hn, s->filename);
+            pa_snprintf(c, l, "{%s}unix:%s", id, s->filename);
             return c;
         }
 

commit 373b5efe51238b0ad34cb9a9d8fc61b973afdad8
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Apr 1 23:05:09 2009 +0200

    properly account for seeks in the requested_bytes counter

diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c
index e619acd..44052c9 100644
--- a/src/modules/module-ladspa-sink.c
+++ b/src/modules/module-ladspa-sink.c
@@ -235,7 +235,7 @@ static void sink_input_process_rewind_cb(pa_sink_input *i, size_t nbytes) {
         if (amount > 0) {
             unsigned c;
 
-            pa_memblockq_seek(u->memblockq, - (int64_t) amount, PA_SEEK_RELATIVE);
+            pa_memblockq_seek(u->memblockq, - (int64_t) amount, PA_SEEK_RELATIVE, TRUE);
 
             pa_log_debug("Resetting plugin");
 
diff --git a/src/modules/rtp/module-rtp-recv.c b/src/modules/rtp/module-rtp-recv.c
index 33e23af..209770f 100644
--- a/src/modules/rtp/module-rtp-recv.c
+++ b/src/modules/rtp/module-rtp-recv.c
@@ -238,7 +238,7 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
     else
         delta = j;
 
-    pa_memblockq_seek(s->memblockq, delta * (int64_t) s->rtp_context.frame_size, PA_SEEK_RELATIVE);
+    pa_memblockq_seek(s->memblockq, delta * (int64_t) s->rtp_context.frame_size, PA_SEEK_RELATIVE, TRUE);
 
     pa_rtclock_get(&now);
 
@@ -246,7 +246,7 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
 
     if (pa_memblockq_push(s->memblockq, &chunk) < 0) {
         pa_log_warn("Queue overrun");
-        pa_memblockq_seek(s->memblockq, (int64_t) chunk.length, PA_SEEK_RELATIVE);
+        pa_memblockq_seek(s->memblockq, (int64_t) chunk.length, PA_SEEK_RELATIVE, TRUE);
     }
 
 /*     pa_log("blocks in q: %u", pa_memblockq_get_nblocks(s->memblockq)); */
diff --git a/src/pulse/context.c b/src/pulse/context.c
index 28d1719..991a886 100644
--- a/src/pulse/context.c
+++ b/src/pulse/context.c
@@ -364,10 +364,10 @@ static void pstream_memblock_callback(pa_pstream *p, uint32_t channel, int64_t o
     if ((s = pa_dynarray_get(c->record_streams, channel))) {
 
         if (chunk->memblock) {
-            pa_memblockq_seek(s->record_memblockq, offset, seek);
+            pa_memblockq_seek(s->record_memblockq, offset, seek, TRUE);
             pa_memblockq_push_align(s->record_memblockq, chunk);
         } else
-            pa_memblockq_seek(s->record_memblockq, offset+chunk->length, seek);
+            pa_memblockq_seek(s->record_memblockq, offset+chunk->length, seek, TRUE);
 
         if (s->read_callback) {
             size_t l;
diff --git a/src/pulse/internal.h b/src/pulse/internal.h
index cf362d9..43d1877 100644
--- a/src/pulse/internal.h
+++ b/src/pulse/internal.h
@@ -140,7 +140,7 @@ struct pa_stream {
     uint32_t syncid;
     uint32_t stream_index;
 
-    uint32_t requested_bytes;
+    int64_t requested_bytes;
     pa_buffer_attr buffer_attr;
 
     uint32_t device_index;
diff --git a/src/pulse/stream.c b/src/pulse/stream.c
index 16342ca..c4a54af 100644
--- a/src/pulse/stream.c
+++ b/src/pulse/stream.c
@@ -729,7 +729,7 @@ void pa_command_request(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tag
     s->requested_bytes += bytes;
 
     if (s->requested_bytes > 0 && s->write_callback)
-        s->write_callback(s, s->requested_bytes, s->write_userdata);
+        s->write_callback(s, (size_t) s->requested_bytes, s->write_userdata);
 
 finish:
     pa_context_unref(c);
@@ -826,7 +826,7 @@ static void create_stream_complete(pa_stream *s) {
     pa_stream_set_state(s, PA_STREAM_READY);
 
     if (s->requested_bytes > 0 && s->write_callback)
-        s->write_callback(s, s->requested_bytes, s->write_userdata);
+        s->write_callback(s, (size_t) s->requested_bytes, s->write_userdata);
 
     if (s->flags & PA_STREAM_AUTO_TIMING_UPDATE) {
         struct timeval tv;
@@ -874,6 +874,7 @@ static void automatic_buffer_attr(pa_stream *s, pa_buffer_attr *attr, const pa_s
 
 void pa_create_stream_callback(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata) {
     pa_stream *s = userdata;
+    uint32_t requested_bytes;
 
     pa_assert(pd);
     pa_assert(s);
@@ -893,11 +894,13 @@ void pa_create_stream_callback(pa_pdispatch *pd, uint32_t command, uint32_t tag,
     if (pa_tagstruct_getu32(t, &s->channel) < 0 ||
         s->channel == PA_INVALID_INDEX ||
         ((s->direction != PA_STREAM_UPLOAD) && (pa_tagstruct_getu32(t, &s->stream_index) < 0 ||  s->stream_index == PA_INVALID_INDEX)) ||
-        ((s->direction != PA_STREAM_RECORD) && pa_tagstruct_getu32(t, &s->requested_bytes) < 0)) {
+        ((s->direction != PA_STREAM_RECORD) && pa_tagstruct_getu32(t, &requested_bytes) < 0)) {
         pa_context_fail(s->context, PA_ERR_PROTOCOL);
         goto finish;
     }
 
+    s->requested_bytes = (int64_t) requested_bytes;
+
     if (s->context->version >= 9) {
         if (s->direction == PA_STREAM_PLAYBACK) {
             if (pa_tagstruct_getu32(t, &s->buffer_attr.maxlength) < 0 ||
@@ -1258,12 +1261,9 @@ int pa_stream_write(
     if (free_cb && pa_pstream_get_shm(s->context->pstream))
         free_cb((void*) data);
 
-    if (length < s->requested_bytes)
-        s->requested_bytes -= (uint32_t) length;
-    else
-        s->requested_bytes = 0;
-
-    /* FIXME!!! ^^^ will break when offset is != 0 and mode is not RELATIVE*/
+    /* This is obviously wrong since we ignore the seeking index . But
+     * that's OK, the server side applies the same error */
+    s->requested_bytes -= (seek == PA_SEEK_RELATIVE ? offset : 0) + (int64_t) length;
 
     if (s->direction == PA_STREAM_PLAYBACK) {
 
@@ -1359,7 +1359,7 @@ size_t pa_stream_writable_size(pa_stream *s) {
     PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, (size_t) -1);
     PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction != PA_STREAM_RECORD, PA_ERR_BADSTATE, (size_t) -1);
 
-    return s->requested_bytes;
+    return s->requested_bytes > 0 ? (size_t) s->requested_bytes : 0;
 }
 
 size_t pa_stream_readable_size(pa_stream *s) {
diff --git a/src/pulsecore/memblockq.c b/src/pulsecore/memblockq.c
index e6e7b73..d12d13a 100644
--- a/src/pulsecore/memblockq.c
+++ b/src/pulsecore/memblockq.c
@@ -601,7 +601,7 @@ size_t pa_memblockq_missing(pa_memblockq *bq) {
     return l >= bq->minreq ? l : 0;
 }
 
-void pa_memblockq_seek(pa_memblockq *bq, int64_t offset, pa_seek_mode_t seek) {
+void pa_memblockq_seek(pa_memblockq *bq, int64_t offset, pa_seek_mode_t seek, pa_bool_t account) {
     int64_t old, delta;
     pa_assert(bq);
 
@@ -628,12 +628,14 @@ void pa_memblockq_seek(pa_memblockq *bq, int64_t offset, pa_seek_mode_t seek) {
 
     delta = bq->write_index - old;
 
-    if (delta >= (int64_t) bq->requested) {
-        delta -= (int64_t) bq->requested;
-        bq->requested = 0;
-    } else if (delta >= 0) {
-        bq->requested -= (size_t) delta;
-        delta = 0;
+    if (account) {
+        if (delta >= (int64_t) bq->requested) {
+            delta -= (int64_t) bq->requested;
+            bq->requested = 0;
+        } else if (delta >= 0) {
+            bq->requested -= (size_t) delta;
+            delta = 0;
+        }
     }
 
     bq->missing -= delta;
@@ -895,7 +897,7 @@ int pa_memblockq_splice(pa_memblockq *bq, pa_memblockq *source) {
 
             pa_memblock_unref(chunk.memblock);
         } else
-            pa_memblockq_seek(bq, (int64_t) chunk.length, PA_SEEK_RELATIVE);
+            pa_memblockq_seek(bq, (int64_t) chunk.length, PA_SEEK_RELATIVE, TRUE);
 
         pa_memblockq_drop(bq, chunk.length);
     }
diff --git a/src/pulsecore/memblockq.h b/src/pulsecore/memblockq.h
index e315b83..146d261 100644
--- a/src/pulsecore/memblockq.h
+++ b/src/pulsecore/memblockq.h
@@ -85,7 +85,7 @@ int pa_memblockq_push(pa_memblockq* bq, const pa_memchunk *chunk);
 int pa_memblockq_push_align(pa_memblockq* bq, const pa_memchunk *chunk);
 
 /* Manipulate the write pointer */
-void pa_memblockq_seek(pa_memblockq *bq, int64_t offset, pa_seek_mode_t seek);
+void pa_memblockq_seek(pa_memblockq *bq, int64_t offset, pa_seek_mode_t seek, pa_bool_t account);
 
 /* Return a copy of the next memory chunk in the queue. It is not
  * removed from the queue. There are two reasons this function might
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index e11d7a6..30d68f3 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -738,24 +738,21 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata,
     switch (code) {
         case PLAYBACK_STREAM_MESSAGE_REQUEST_DATA: {
             pa_tagstruct *t;
-            uint32_t l = 0;
+            int l = 0;
 
             for (;;) {
-                if ((l = (uint32_t) pa_atomic_load(&s->missing)) <= 0)
-                    break;
+                if ((l = pa_atomic_load(&s->missing)) <= 0)
+                    return 0;
 
-                if (pa_atomic_cmpxchg(&s->missing, (int) l, 0))
+                if (pa_atomic_cmpxchg(&s->missing, l, 0))
                     break;
             }
 
-            if (l <= 0)
-                break;
-
             t = pa_tagstruct_new(NULL, 0);
             pa_tagstruct_putu32(t, PA_COMMAND_REQUEST);
             pa_tagstruct_putu32(t, (uint32_t) -1); /* tag */
             pa_tagstruct_putu32(t, s->index);
-            pa_tagstruct_putu32(t, l);
+            pa_tagstruct_putu32(t, (uint32_t) l);
             pa_pstream_send_tagstruct(s->connection->pstream, t);
 
 /*             pa_log("Requesting %lu bytes", (unsigned long) l); */
@@ -1097,7 +1094,8 @@ static playback_stream* playback_stream_new(
 
 /* Called from IO context */
 static void playback_stream_request_bytes(playback_stream *s) {
-    size_t m, previous_missing, minreq;
+    size_t m, minreq;
+    int previous_missing;
 
     playback_stream_assert_ref(s);
 
@@ -1108,11 +1106,11 @@ static void playback_stream_request_bytes(playback_stream *s) {
 
 /*     pa_log("request_bytes(%lu)", (unsigned long) m); */
 
-    previous_missing = (size_t) pa_atomic_add(&s->missing, (int) m);
+    previous_missing = pa_atomic_add(&s->missing, (int) m);
     minreq = pa_memblockq_get_minreq(s->memblockq);
 
     if (pa_memblockq_prebuf_active(s->memblockq) ||
-        (previous_missing < minreq && previous_missing+m >= minreq))
+        (previous_missing < (int) minreq && previous_missing + (int) m >= (int) minreq))
         pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_REQUEST_DATA, NULL, 0, NULL, NULL);
 }
 
@@ -1297,7 +1295,12 @@ static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int
             int64_t windex;
 
             windex = pa_memblockq_get_write_index(s->memblockq);
-            pa_memblockq_seek(s->memblockq, offset, PA_PTR_TO_UINT(userdata));
+
+            /* The client side is incapable of accounting correctly
+             * for seeks of a type != PA_SEEK_RELATIVE. We need to be
+             * able to deal with that. */
+
+            pa_memblockq_seek(s->memblockq, offset, PA_PTR_TO_UINT(userdata), PA_PTR_TO_UINT(userdata) == PA_SEEK_RELATIVE);
 
             handle_seek(s, windex);
             return 0;
@@ -1315,7 +1318,7 @@ static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int
             if (pa_memblockq_push_align(s->memblockq, chunk) < 0) {
                 pa_log_warn("Failed to push data into queue");
                 pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_OVERFLOW, NULL, 0, NULL, NULL);
-                pa_memblockq_seek(s->memblockq, (int64_t) chunk->length, PA_SEEK_RELATIVE);
+                pa_memblockq_seek(s->memblockq, (int64_t) chunk->length, PA_SEEK_RELATIVE, TRUE);
             }
 
             handle_seek(s, windex);
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 0ed16dd..1fdb3fa 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -631,7 +631,7 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p
              * data, so let's just hand out silence */
             pa_atomic_store(&i->thread_info.drained, 1);
 
-            pa_memblockq_seek(i->thread_info.render_memblockq, (int64_t) slength, PA_SEEK_RELATIVE);
+            pa_memblockq_seek(i->thread_info.render_memblockq, (int64_t) slength, PA_SEEK_RELATIVE, TRUE);
             i->thread_info.playing_for = 0;
             if (i->thread_info.underrun_for != (uint64_t) -1)
                 i->thread_info.underrun_for += ilength;
@@ -776,7 +776,7 @@ void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sam
 
             if (amount > 0)
                 /* Ok, now update the write pointer */
-                pa_memblockq_seek(i->thread_info.render_memblockq, - ((int64_t) amount), PA_SEEK_RELATIVE);
+                pa_memblockq_seek(i->thread_info.render_memblockq, - ((int64_t) amount), PA_SEEK_RELATIVE, TRUE);
 
             if (i->thread_info.rewrite_flush)
                 pa_memblockq_silence(i->thread_info.render_memblockq);
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index 27f24cd..1c37be9 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -434,7 +434,7 @@ void pa_source_output_push(pa_source_output *o, const pa_memchunk *chunk) {
 
     if (pa_memblockq_push(o->thread_info.delay_memblockq, chunk) < 0) {
         pa_log_debug("Delay queue overflow!");
-        pa_memblockq_seek(o->thread_info.delay_memblockq, (int64_t) chunk->length, PA_SEEK_RELATIVE);
+        pa_memblockq_seek(o->thread_info.delay_memblockq, (int64_t) chunk->length, PA_SEEK_RELATIVE, TRUE);
     }
 
     limit = o->process_rewind ? 0 : o->source->thread_info.max_rewind;
diff --git a/src/tests/memblockq-test.c b/src/tests/memblockq-test.c
index 127fb19..ec3f542 100644
--- a/src/tests/memblockq-test.c
+++ b/src/tests/memblockq-test.c
@@ -105,45 +105,45 @@ int main(int argc, char *argv[]) {
     ret = pa_memblockq_push(bq, &chunk4);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, -6, 0);
+    pa_memblockq_seek(bq, -6, 0, TRUE);
     ret = pa_memblockq_push(bq, &chunk3);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, -2, 0);
+    pa_memblockq_seek(bq, -2, 0, TRUE);
     ret = pa_memblockq_push(bq, &chunk1);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, -10, 0);
+    pa_memblockq_seek(bq, -10, 0, TRUE);
     ret = pa_memblockq_push(bq, &chunk4);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, 10, 0);
+    pa_memblockq_seek(bq, 10, 0, TRUE);
 
     ret = pa_memblockq_push(bq, &chunk1);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, -6, 0);
+    pa_memblockq_seek(bq, -6, 0, TRUE);
     ret = pa_memblockq_push(bq, &chunk2);
     assert(ret == 0);
 
     /* Test splitting */
-    pa_memblockq_seek(bq, -12, 0);
+    pa_memblockq_seek(bq, -12, 0, TRUE);
     ret = pa_memblockq_push(bq, &chunk1);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, 20, 0);
+    pa_memblockq_seek(bq, 20, 0, TRUE);
 
     /* Test merging */
     ret = pa_memblockq_push(bq, &chunk3);
     assert(ret == 0);
-    pa_memblockq_seek(bq, -2, 0);
+    pa_memblockq_seek(bq, -2, 0, TRUE);
 
     chunk3.index += 2;
     chunk3.length -= 2;
     ret = pa_memblockq_push(bq, &chunk3);
     assert(ret == 0);
 
-    pa_memblockq_seek(bq, 30, PA_SEEK_RELATIVE);
+    pa_memblockq_seek(bq, 30, PA_SEEK_RELATIVE, TRUE);
 
     dump(bq);
 

commit 1c26d7e174ba54c062c0ae50d33bf4e819bb15ba
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Apr 1 23:05:43 2009 +0200

    plot the difference between system and sound card time

diff --git a/src/tests/interpol-test.c b/src/tests/interpol-test.c
index dd24e82..c2c3efe 100644
--- a/src/tests/interpol-test.c
+++ b/src/tests/interpol-test.c
@@ -162,11 +162,12 @@ int main(int argc, char *argv[]) {
             pa_bool_t cork_now;
 
             rtc = pa_timeval_diff(&now, &start);
-            printf("%i\t%llu\t%llu\t%llu\t%llu\t%u\t%u\n", k,
+            printf("%i\t%llu\t%llu\t%llu\t%llu\t%lli\t%u\t%u\n", k,
                    (unsigned long long) rtc,
                    (unsigned long long) t,
                    (unsigned long long) (rtc-old_rtc),
                    (unsigned long long) (t-old_t),
+                   (signed long long) rtc - (signed long long) t,
                    changed,
                    playing);
 

commit 143e1ba73947b1a721916243ffc6f88579fc0b12
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Apr 3 17:49:05 2009 +0200

    downgrade a few messages

diff --git a/src/daemon/main.c b/src/daemon/main.c
index 2faf650..16c87bd 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -538,7 +538,7 @@ int main(int argc, char *argv[]) {
 
         if ((conf->high_priority && !allow_high_priority) ||
             (conf->realtime_scheduling && !allow_realtime))
-            pa_log_notice(_("Called SUID root and real-time and/or high-priority scheduling was requested in the configuration. However, we lack the necessary privileges:\n"
+            pa_log_info(_("Called SUID root and real-time and/or high-priority scheduling was requested in the configuration. However, we lack the necessary privileges:\n"
                             "We are not in group '%s', PolicyKit refuse to grant us the requested privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource limits.\n"
                             "For enabling real-time/high-priority scheduling please acquire the appropriate PolicyKit privileges, or become a member of '%s', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."),
                           PA_REALTIME_GROUP, PA_REALTIME_GROUP);
@@ -563,7 +563,7 @@ int main(int argc, char *argv[]) {
 #endif
 
     if (conf->high_priority && !pa_can_high_priority()) {
-        pa_log_warn(_("High-priority scheduling enabled in configuration but not allowed by policy."));
+        pa_log_info(_("High-priority scheduling enabled in configuration but not allowed by policy."));
         conf->high_priority = FALSE;
     }
 
@@ -609,7 +609,7 @@ int main(int argc, char *argv[]) {
     }
 
     if (conf->realtime_scheduling && !pa_can_realtime()) {
-        pa_log_warn(_("Real-time scheduling enabled in configuration but not allowed by policy."));
+        pa_log_info(_("Real-time scheduling enabled in configuration but not allowed by policy."));
         conf->realtime_scheduling = FALSE;
     }
 
diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index 5b5270b..bdeea06 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -1063,7 +1063,7 @@ snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const
                 fallback_elem = NULL;
         }
 
-        pa_log_warn("Cannot find fallback mixer control \"%s\" or mixer control is no combination of switch/volume.", snd_mixer_selem_id_get_name(sid));
+        pa_log_info("Cannot find fallback mixer control \"%s\" or mixer control is no combination of switch/volume.", snd_mixer_selem_id_get_name(sid));
     }
 
     if (elem && fallback_elem) {

commit 6152c524203649e1592a0ef21fc28dd7d2c4d101
Merge: 143e1ba 380e97a
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Apr 3 17:50:37 2009 +0200

    Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio


commit ccaf765260f91dfe623e318ec1723faea73d6e83
Author: Luke Yelavich <themuso at ubuntu.com>
Date:   Wed Apr 1 12:59:37 2009 +1100

    POTFILES.IN: Refer to src/pulsecore/dbus-util.c

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 0d5b42f..54dbea7 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -5,7 +5,7 @@ src/modules/module-zeroconf-discover.c
 src/modules/alsa/module-alsa-source.c
 src/modules/module-device-restore.c
 src/modules/module-match.c
-src/modules/dbus-util.c
+src/pulsecore/dbus-util.c
 src/modules/module-console-kit.c
 src/modules/oss/module-oss.c
 src/modules/oss/oss-util.c

commit 8bcb9c6910deee9aaf1920e0e37141611cada9ee
Author: Maarten Bosmans <mkbosmans at gmail.com>
Date:   Wed Apr 1 12:35:44 2009 +0200

    various spelling fixes

diff --git a/src/daemon/main.c b/src/daemon/main.c
index 16c87bd..d25647c 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -427,7 +427,7 @@ int main(int argc, char *argv[]) {
         pa_limit_caps();
 
         /* When capabilities are not supported we will not be able to
-         * aquire RT sched anymore. But yes, that's the way it is. It
+         * acquire RT sched anymore. But yes, that's the way it is. It
          * is just too risky tun let PA run as root all the time. */
     }
 
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 0dc0e2b..b43fa06 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -1173,7 +1173,7 @@ static void sink_update_requested_latency_cb(pa_sink *s) {
 
     /* Let's check whether we now use only a smaller part of the
     buffer then before. If so, we need to make sure that subsequent
-    rewinds are relative to the new maxium fill level and not to the
+    rewinds are relative to the new maximum fill level and not to the
     current fill level. Thus, let's do a full rewind once, to clear
     things up. */
 
@@ -1300,7 +1300,7 @@ static void thread_func(void *userdata) {
                     /* USB devices on ALSA seem to hit a buffer
                      * underrun during the first iterations much
                      * quicker then we calculate here, probably due to
-                     * the transport latency. To accomodate for that
+                     * the transport latency. To accommodate for that
                      * we artificially decrease the sleep time until
                      * we have filled the buffer at least once
                      * completely.*/
diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index bdeea06..be8cd1c 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -705,7 +705,7 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto(
             } else {
                 /* Hmm, so the next entry does not have the same
                  * number of channels, so let's go backwards until we
-                 * find the next entry with a differnt number of
+                 * find the next entry with a different number of
                  * channels */
 
                 for (i--; i >= 0; i--)
diff --git a/src/modules/module-raop-discover.c b/src/modules/module-raop-discover.c
index 5c2e062..eaeb77f 100644
--- a/src/modules/module-raop-discover.c
+++ b/src/modules/module-raop-discover.c
@@ -258,7 +258,7 @@ static void browser_cb(
                 pa_log("avahi_service_resolver_new() failed: %s", avahi_strerror(avahi_client_errno(u->client)));
 
         /* We ignore the returned resolver object here, since the we don't
-         * need to attach any special data to it, and we can still destory
+         * need to attach any special data to it, and we can still destroy
          * it from the callback */
 
     } else if (event == AVAHI_BROWSER_REMOVE) {
diff --git a/src/modules/module-zeroconf-discover.c b/src/modules/module-zeroconf-discover.c
index 3da946e..1fdc1f4 100644
--- a/src/modules/module-zeroconf-discover.c
+++ b/src/modules/module-zeroconf-discover.c
@@ -279,7 +279,7 @@ static void browser_cb(
                 pa_log("avahi_service_resolver_new() failed: %s", avahi_strerror(avahi_client_errno(u->client)));
 
         /* We ignore the returned resolver object here, since the we don't
-         * need to attach any special data to it, and we can still destory
+         * need to attach any special data to it, and we can still destroy
          * it from the callback */
 
     } else if (event == AVAHI_BROWSER_REMOVE) {
diff --git a/src/modules/rtp/module-rtp-recv.c b/src/modules/rtp/module-rtp-recv.c
index 33e23af..23adbe1 100644
--- a/src/modules/rtp/module-rtp-recv.c
+++ b/src/modules/rtp/module-rtp-recv.c
@@ -229,7 +229,7 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
         }
     }
 
-    /* Check wheter there was a timestamp overflow */
+    /* Check whether there was a timestamp overflow */
     k = (int64_t) s->rtp_context.timestamp - (int64_t) s->offset;
     j = (int64_t) 0x100000000LL - (int64_t) s->offset + (int64_t) s->rtp_context.timestamp;
 
diff --git a/src/modules/rtp/rtsp_client.c b/src/modules/rtp/rtsp_client.c
index 98db05d..629328a 100644
--- a/src/modules/rtp/rtsp_client.c
+++ b/src/modules/rtp/rtsp_client.c
@@ -211,7 +211,7 @@ static void line_callback(pa_ioline *line, const char *s, void *userdata) {
     }
     if (!strlen(s2)) {
         /* End of headers */
-        /* We will have a header left from our looping itteration, so add it in :) */
+        /* We will have a header left from our looping iteration, so add it in :) */
         if (c->last_header) {
             /* This is not a continuation header so let's dump it into our proplist */
             pa_headerlist_puts(c->response_headers, c->last_header, pa_strbuf_tostring_free(c->header_buffer));
@@ -488,7 +488,7 @@ int pa_rtsp_record(pa_rtsp_client* c, uint16_t* seq, uint32_t* rtptime) {
 
     pa_assert(c);
     if (!c->session) {
-        /* No seesion in progres */
+        /* No session in progress */
         return -1;
     }
 
diff --git a/src/pulse/channelmap.h b/src/pulse/channelmap.h
index eef0ac1..d4db45b 100644
--- a/src/pulse/channelmap.h
+++ b/src/pulse/channelmap.h
@@ -50,7 +50,7 @@
  * \li pa_channel_map_init_stereo() - Create a standard stereo mapping.
  * \li pa_channel_map_init_auto() - Create a standard channel map for a specific number of channels
  * \li pa_channel_map_init_extend() - Similar to
- * pa_channel_map_init_auto() but synthesize a channel map if noone
+ * pa_channel_map_init_auto() but synthesize a channel map if no
  * predefined one is known for the specified number of channels.
  *
  * \section conv_sec Convenience Functions
@@ -251,7 +251,7 @@ typedef struct pa_channel_map {
  * pa_channel_map_valid() will fail for it. */
 pa_channel_map* pa_channel_map_init(pa_channel_map *m);
 
-/** Initialize the specified channel map for monoaural audio and return a pointer to it */
+/** Initialize the specified channel map for monaural audio and return a pointer to it */
 pa_channel_map* pa_channel_map_init_mono(pa_channel_map *m);
 
 /** Initialize the specified channel map for stereophonic audio and return a pointer to it */
@@ -282,7 +282,7 @@ const char* pa_channel_position_to_pretty_string(pa_channel_position_t pos);
  * it might become part of an ABI. */
 #define PA_CHANNEL_MAP_SNPRINT_MAX 336
 
-/** Make a humand readable string from the specified channel map */
+/** Make a human readable string from the specified channel map */
 char* pa_channel_map_snprint(char *s, size_t l, const pa_channel_map *map);
 
 /** Parse a channel position list or well-known mapping name into a
diff --git a/src/pulse/client-conf.h b/src/pulse/client-conf.h
index 78844a1..ab97dc6 100644
--- a/src/pulse/client-conf.h
+++ b/src/pulse/client-conf.h
@@ -38,7 +38,7 @@ typedef struct pa_client_conf {
 pa_client_conf *pa_client_conf_new(void);
 void pa_client_conf_free(pa_client_conf *c);
 
-/* Load the configuration data from the speicified file, overwriting
+/* Load the configuration data from the specified file, overwriting
  * the current settings in *c. When the filename is NULL, the
  * default client configuration file name is used. */
 int pa_client_conf_load(pa_client_conf *c, const char *filename);
diff --git a/src/pulse/def.h b/src/pulse/def.h
index cae0894..d5bbefe 100644
--- a/src/pulse/def.h
+++ b/src/pulse/def.h
@@ -71,7 +71,7 @@ typedef enum pa_stream_state {
     PA_STREAM_UNCONNECTED,  /**< The stream is not yet connected to any sink or source */
     PA_STREAM_CREATING,     /**< The stream is being created */
     PA_STREAM_READY,        /**< The stream is established, you may pass audio data to it now */
-    PA_STREAM_FAILED,       /**< An error occured that made the stream invalid */
+    PA_STREAM_FAILED,       /**< An error occurred that made the stream invalid */
     PA_STREAM_TERMINATED    /**< The stream has been terminated cleanly */
 } pa_stream_state_t;
 
@@ -216,7 +216,7 @@ typedef enum pa_stream_flags {
      * sink/device. Useful if you use any of the PA_STREAM_FIX_ flags
      * and want to make sure that resampling never takes place --
      * which might happen if the stream is moved to another
-     * sink/source whith a different sample spec/channel map. Only
+     * sink/source with a different sample spec/channel map. Only
      * supported when the server is at least PA 0.9.8. It is ignored
      * on older servers. \since 0.9.8 */
 
@@ -250,7 +250,7 @@ typedef enum pa_stream_flags {
      * asking for less new data than this value will be made to the
      * client it will also guarantee that requests are generated as
      * early as this limit is reached. This flag should only be set in
-     * very few situations where compatiblity with a fragment-based
+     * very few situations where compatibility with a fragment-based
      * playback model needs to be kept and the client applications
      * cannot deal with data requests that are delayed to the latest
      * moment possible. (Usually these are programs that use usleep()
@@ -326,12 +326,12 @@ typedef struct pa_buffer_attr {
      * plus the playback buffer size is configured to this value. Set
      * PA_STREAM_ADJUST_LATENCY if you are interested in adjusting the
      * overall latency. Don't set it if you are interested in
-     * configuring the server-sider per-stream playback buffer
+     * configuring the server-side per-stream playback buffer
      * size. */
 
     uint32_t prebuf;
     /**< Playback only: pre-buffering. The server does not start with
-     * playback before at least prebug bytes are available in the
+     * playback before at least prebuf bytes are available in the
      * buffer. It is recommended to set this to (uint32_t) -1, which
      * will initialize this to the same value as tlength, whatever
      * that may be. Initialize to 0 to enable manual start/stop
@@ -352,7 +352,7 @@ typedef struct pa_buffer_attr {
 
     uint32_t fragsize;
     /**< Recording only: fragment size. The server sends data in
-     * blocks of fragsize bytes size. Large values deminish
+     * blocks of fragsize bytes size. Large values diminish
      * interactivity with other operations on the connection context
      * but decrease control overhead. It is recommended to set this to
      * (uint32_t) -1, which will initialize this to a value that is
@@ -392,7 +392,7 @@ enum {
     PA_ERR_NOEXTENSION,            /**< Extension does not exist. \since 0.9.12 */
     PA_ERR_OBSOLETE,               /**< Obsolete functionality. \since 0.9.15 */
     PA_ERR_NOTIMPLEMENTED,         /**< Missing implementation. \since 0.9.15 */
-    PA_ERR_FORKED,                 /**< The caler forked without calling execve() and tried to reuse the context. \since 0.9.15 */
+    PA_ERR_FORKED,                 /**< The caller forked without calling execve() and tried to reuse the context. \since 0.9.15 */
     PA_ERR_MAX                     /**< Not really an error but the first invalid error code */
 };
 
@@ -490,7 +490,7 @@ typedef enum pa_subscription_event_type {
     /**< Event type: Sample cache item */
 
     PA_SUBSCRIPTION_EVENT_SERVER = 0x0007U,
-    /**< Event type: Global server change, only occuring with PA_SUBSCRIPTION_EVENT_CHANGE. */
+    /**< Event type: Global server change, only occurring with PA_SUBSCRIPTION_EVENT_CHANGE. */
 
 /** \cond fulldocs */
     PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008U,
@@ -576,7 +576,7 @@ typedef struct pa_timing_info {
     /**< Non-zero if the local and the remote machine have
      * synchronized clocks. If synchronized clocks are detected
      * transport_usec becomes much more reliable. However, the code
-     * that detects synchronized clocks is very limited und unreliable
+     * that detects synchronized clocks is very limited and unreliable
      * itself. */
 
     pa_usec_t sink_usec;
diff --git a/src/pulse/internal.h b/src/pulse/internal.h
index cf362d9..14c8152 100644
--- a/src/pulse/internal.h
+++ b/src/pulse/internal.h
@@ -160,7 +160,7 @@ struct pa_stream {
     uint32_t write_index_not_before;
     uint32_t read_index_not_before;
 
-    /* Data about individual timing update correctoins */
+    /* Data about individual timing update corrections */
     pa_index_correction write_index_corrections[PA_MAX_WRITE_INDEX_CORRECTIONS];
     int current_write_index_correction;
 
diff --git a/src/pulse/introspect.h b/src/pulse/introspect.h
index d7ef1c0..117880c 100644
--- a/src/pulse/introspect.h
+++ b/src/pulse/introspect.h
@@ -454,7 +454,7 @@ typedef struct pa_sink_input_info {
     pa_cvolume volume;                   /**< The volume of this sink input */
     pa_usec_t buffer_usec;               /**< Latency due to buffering in sink input, see pa_latency_info for details */
     pa_usec_t sink_usec;                 /**< Latency of the sink device, see pa_latency_info for details */
-    const char *resample_method;         /**< Thre resampling method used by this sink input. */
+    const char *resample_method;         /**< The resampling method used by this sink input. */
     const char *driver;                  /**< Driver name */
     int mute;                            /**< Stream muted \since 0.9.7 */
     pa_proplist *proplist;               /**< Property list \since 0.9.11 */
@@ -501,7 +501,7 @@ typedef struct pa_source_output_info {
     pa_channel_map channel_map;          /**< Channel map */
     pa_usec_t buffer_usec;               /**< Latency due to buffering in the source output, see pa_latency_info for details. */
     pa_usec_t source_usec;               /**< Latency of the source device, see pa_latency_info for details. */
-    const char *resample_method;         /**< Thre resampling method used by this source output. */
+    const char *resample_method;         /**< The resampling method used by this source output. */
     const char *driver;                  /**< Driver name */
     pa_proplist *proplist;               /**< Property list \since 0.9.11 */
 } pa_source_output_info;
@@ -539,7 +539,7 @@ pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_cont
  * any new release. */
 typedef struct pa_stat_info {
     uint32_t memblock_total;           /**< Currently allocated memory blocks */
-    uint32_t memblock_total_size;      /**< Currentl total size of allocated memory blocks */
+    uint32_t memblock_total_size;      /**< Current total size of allocated memory blocks */
     uint32_t memblock_allocated;       /**< Allocated memory blocks during the whole lifetime of the daemon */
     uint32_t memblock_allocated_size;  /**< Total size of all memory blocks allocated during the whole lifetime of the daemon */
     uint32_t scache_size;              /**< Total size of all sample cache entries. */
diff --git a/src/pulse/mainloop.h b/src/pulse/mainloop.h
index 3a03ac9..4a83ebe 100644
--- a/src/pulse/mainloop.h
+++ b/src/pulse/mainloop.h
@@ -50,7 +50,7 @@ struct pollfd;
  *
  * -# Prepare - Build a list of file descriptors
  *               that need to be monitored and calculate the next timeout.
- * -# Poll - Execute the actuall poll() system call.
+ * -# Poll - Execute the actual poll() system call.
  * -# Dispatch - Dispatch any events that have fired.
  *
  * When using the main loop, the application can either execute each
diff --git a/src/pulse/proplist.h b/src/pulse/proplist.h
index d5f5bc0..2e7e5ad 100644
--- a/src/pulse/proplist.h
+++ b/src/pulse/proplist.h
@@ -259,7 +259,7 @@ int pa_proplist_get(pa_proplist *p, const char *key, const void **data, size_t *
 /** Update mode enum for pa_proplist_update(). \since 0.9.11 */
 typedef enum pa_update_mode {
     PA_UPDATE_SET
-    /**< Replace the entirey property list with the new one. Don't keep
+    /**< Replace the entire property list with the new one. Don't keep
      *  any of the old data around */,
 
     PA_UPDATE_MERGE
diff --git a/src/pulse/pulseaudio.h b/src/pulse/pulseaudio.h
index 5086783..aa369e6 100644
--- a/src/pulse/pulseaudio.h
+++ b/src/pulse/pulseaudio.h
@@ -59,7 +59,7 @@
  * \section intro_sec Introduction
  *
  * This document describes the client API for the PulseAudio sound
- * server. The API comes in two flavours to accomodate different styles
+ * server. The API comes in two flavours to accommodate different styles
  * of applications and different needs in complexity:
  *
  * \li The complete but somewhat complicated to use asynchronous API
diff --git a/src/pulse/sample.h b/src/pulse/sample.h
index aef34b6..138f13c 100644
--- a/src/pulse/sample.h
+++ b/src/pulse/sample.h
@@ -71,7 +71,7 @@
  *
  * \section chan_sec Channels
  *
- * PulseAudio supports up to 32 individiual channels. The order of the
+ * PulseAudio supports up to 32 individual channels. The order of the
  * channels is up to the application, but they must be continous. To map
  * channels to speakers, see \ref channelmap.
  *
@@ -221,7 +221,7 @@ typedef enum pa_sample_format {
 #define PA_SAMPLE_FLOAT32 PA_SAMPLE_FLOAT32NE
 
 /** \cond fulldocs */
-/* Allow clients to check with #ifdef for thse sample formats */
+/* Allow clients to check with #ifdef for these sample formats */
 #define PA_SAMPLE_U8 PA_SAMPLE_U8
 #define PA_SAMPLE_ALAW PA_SAMPLE_ALAW
 #define PA_SAMPLE_ULAW PA_SAMPLE_ULAW
diff --git a/src/pulse/subscribe.h b/src/pulse/subscribe.h
index a93510a..44ed24a 100644
--- a/src/pulse/subscribe.h
+++ b/src/pulse/subscribe.h
@@ -35,7 +35,7 @@
  * \section overv_sec Overview
  *
  * The application can be notified, asynchronously, whenever the internal
- * layout of the server changes. Possible notifications are desribed in the
+ * layout of the server changes. Possible notifications are described in the
  * \ref pa_subscription_event_type and \ref pa_subscription_mask
  * enumerations.
  *
diff --git a/src/pulse/timeval.h b/src/pulse/timeval.h
index 2b3faf1..651da95 100644
--- a/src/pulse/timeval.h
+++ b/src/pulse/timeval.h
@@ -60,7 +60,7 @@ struct timeval *pa_gettimeofday(struct timeval *tv);
  * structs. */
 pa_usec_t pa_timeval_diff(const struct timeval *a, const struct timeval *b) PA_GCC_PURE;
 
-/** Compare the two timeval structs and return 0 when equal, negative when a < b, positive otherwse */
+/** Compare the two timeval structs and return 0 when equal, negative when a < b, positive otherwise */
 int pa_timeval_cmp(const struct timeval *a, const struct timeval *b) PA_GCC_PURE;
 
 /** Return the time difference between now and the specified timestamp */
diff --git a/src/pulsecore/authkey.c b/src/pulsecore/authkey.c
index b122fee..1e31d07 100644
--- a/src/pulsecore/authkey.c
+++ b/src/pulsecore/authkey.c
@@ -190,7 +190,7 @@ int pa_authkey_load_auto(const char *fn, void *data, size_t length) {
     return pa_authkey_load(p, data, length);
 }
 
-/* Store the specified cookie in the speicified cookie file */
+/* Store the specified cookie in the specified cookie file */
 int pa_authkey_save(const char *fn, const void *data, size_t length) {
     int fd = -1;
     int unlock = 0, ret = -1;
diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index 4b093c0..5625339 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -326,7 +326,7 @@ ssize_t pa_write(int fd, const void *buf, size_t count, int *type) {
 }
 
 /** Calls read() in a loop. Makes sure that as much as 'size' bytes,
- * unless EOF is reached or an error occured */
+ * unless EOF is reached or an error occurred */
 ssize_t pa_loop_read(int fd, void*data, size_t size, int *type) {
     ssize_t ret = 0;
     int _type;
@@ -1242,7 +1242,7 @@ int pa_lock_lockfile(const char *fn) {
             goto fail;
         }
 
-        /* Check wheter the file has been removed meanwhile. When yes,
+        /* Check whether the file has been removed meanwhile. When yes,
          * restart this loop, otherwise, we're done */
         if (st.st_nlink >= 1)
             break;
diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
index e7a555d..0dd5e9a 100644
--- a/src/pulsecore/sink-input.h
+++ b/src/pulsecore/sink-input.h
@@ -121,7 +121,7 @@ struct pa_sink_input {
      * changes. Called from IO context. */
     void (*update_max_rewind) (pa_sink_input *i, size_t nbytes); /* may be NULL */
 
-    /* Called whenever the maxiumum request size of the sink
+    /* Called whenever the maximum request size of the sink
      * changes. Called from IO context. */
     void (*update_max_request) (pa_sink_input *i, size_t nbytes); /* may be NULL */
 

commit f446f0eb73a46df8cdb845b1d8c0ec3d75a762d7
Merge: 8bcb9c6 a12f4e6
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Apr 4 02:28:13 2009 +0200

    Merge commit 'origin/master-tx'


commit 99f45a67afc67a6d19ba95a7cdc9598c3850f15a
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Apr 4 02:29:00 2009 +0200

    run make update-po

diff --git a/po/ca.po b/po/ca.po
index 3c3974a..d3b9788 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -19,7 +19,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-03 02:22+0000\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-03-18 21:47+0100\n"
 "Last-Translator: Agustí Grau <fletxa at gmail.com>\n"
 "Language-Team: Catalan <fedora at softcatala.net>\n"
@@ -27,80 +27,101 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/modules/alsa/alsa-util.c:526
+#: ../src/modules/alsa/alsa-util.c:530
 msgid "Analog Mono"
 msgstr "Mono analògic"
 
-#: ../src/modules/alsa/alsa-util.c:532
+#: ../src/modules/alsa/alsa-util.c:536
 msgid "Analog Stereo"
 msgstr "Estèreo analògic"
 
-#: ../src/modules/alsa/alsa-util.c:538
+#: ../src/modules/alsa/alsa-util.c:542
 msgid "Digital Stereo (IEC958)"
 msgstr "Estèreo digital (IEC958)"
 
-#: ../src/modules/alsa/alsa-util.c:544
+#: ../src/modules/alsa/alsa-util.c:548
 msgid "Digital Stereo (HDMI)"
 msgstr "Estèreo digital (HDMI)"
 
-#: ../src/modules/alsa/alsa-util.c:551
+#: ../src/modules/alsa/alsa-util.c:555
 msgid "Analog Surround 4.0"
 msgstr "Envolvent 4.0 analògic"
 
-#: ../src/modules/alsa/alsa-util.c:558
+#: ../src/modules/alsa/alsa-util.c:562
 msgid "Digital Surround 4.0 (IEC958/AC3)"
 msgstr "Envolvent 4.0 digital (IEC958/AC3)"
 
-#: ../src/modules/alsa/alsa-util.c:566
+#: ../src/modules/alsa/alsa-util.c:570
 msgid "Analog Surround 4.1"
 msgstr "Envolvent 4.1 analògic"
 
-#: ../src/modules/alsa/alsa-util.c:574
+#: ../src/modules/alsa/alsa-util.c:578
 msgid "Analog Surround 5.0"
 msgstr "Envolvent 5.0 analògic"
 
-#: ../src/modules/alsa/alsa-util.c:582
+#: ../src/modules/alsa/alsa-util.c:586
 msgid "Analog Surround 5.1"
 msgstr "Envolvent 5.1 analògic"
 
-#: ../src/modules/alsa/alsa-util.c:590
+#: ../src/modules/alsa/alsa-util.c:594
 msgid "Digital Surround 5.1 (IEC958/AC3)"
 msgstr "Envolvent 5.1 digital (IEC958/AC3)"
 
-#: ../src/modules/alsa/alsa-util.c:599
+#: ../src/modules/alsa/alsa-util.c:603
 msgid "Analog Surround 7.1"
 msgstr "Envolvent analògic 7.1"
 
-#: ../src/modules/alsa/alsa-util.c:1582
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
-"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
+"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
+"ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers."
 msgstr ""
-"snd_pcm_avail() ha retornat un valor que és excepcionalment gran: %lu bytes (%lu ms).\n"
-"En la majoria dels casos és un error del controlador ALSA '%s'. Siusplau, informeu d'aquest\n"
+"snd_pcm_avail() ha retornat un valor que és excepcionalment gran: %lu bytes "
+"(%lu ms).\n"
+"En la majoria dels casos és un error del controlador ALSA '%s'. Siusplau, "
+"informeu d'aquest\n"
 "incident als desenvolupadors d'ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1622
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
-"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
+"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
+"lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers."
 msgstr ""
-"snd_pcm_delay() ha retornat un valor excepcionalment gran: %li bytes (%s%lu ms).\n"
-"En la majoria dels casos és un error del controlador ALSA '%s'. Siusplau, informeu d'aquest\n"
+"snd_pcm_delay() ha retornat un valor excepcionalment gran: %li bytes (%s%lu "
+"ms).\n"
+"En la majoria dels casos és un error del controlador ALSA '%s'. Siusplau, "
+"informeu d'aquest\n"
 "incident als desenvolupadors d'ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1668
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
-"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
+"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
+"(%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers."
 msgstr ""
-"snd_pcm_mmap_begin() ha retornat un valor excepcionalment gran: %lu bytes (%lu ms).\n"
-"En la majoria dels casos és un error del controlador ALSA '%s'. Siusplau, informeu d'aquest\n"
+"snd_pcm_mmap_begin() ha retornat un valor excepcionalment gran: %lu bytes (%"
+"lu ms).\n"
+"En la majoria dels casos és un error del controlador ALSA '%s'. Siusplau, "
+"informeu d'aquest\n"
 "incident als desenvolupadors d'ALSA."
 
+#: ../src/pulsecore/sink.c:2035
+#, fuzzy
+msgid "Internal Audio"
+msgstr "S'ha produït un error intern"
+
+#: ../src/pulsecore/sink.c:2041
+msgid "Modem"
+msgstr ""
+
 #: ../src/daemon/ltdl-bind-now.c:124
 msgid "Failed to find original lt_dlopen loader."
 msgstr "No s'ha trobat el carregador lt_dlopen original."
@@ -167,313 +188,358 @@ msgstr "No s'ha pogut obtenir autorització: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit ha respós '%s'"
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "S'ha obtingut la senyal %s."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "S'està sortint."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "S'ha produït un error en trobar l'usuari '%s'."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "S'ha produït un error en trobar el grup '%s'."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "S'han trobat l'usuari '%s' (UID %lu) i el grup '%s' (GID %lu)."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "El GID de l'usuari '%s' i del grup '%s' no coincideixen"
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "El directori arrel de l'usuari '%s' no és '%s', s'ignorarà."
 
-#: ../src/daemon/main.c:201
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "S'ha produït un error durant la creació '%s': %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "S'ha produït un error en canviar la llista del grup :%s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "S'ha produït un error en canviar la GID: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "S'ha produït un error en canviar la UID: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "S'han lliberat els permissos de root amb éxit."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "El mode de sistema ampli no està suportat en aquesta plataforma."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "S'ha produït un error en setrlimit(%s, (%u, %u)): %s"
 
-#: ../src/daemon/main.c:432
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "S'ha produït un error en interpretar la línia de comandes."
 
-#: ../src/daemon/main.c:456
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Aquesta aplicació està en el grup '%s', s'està establint la prioritat alta."
+msgstr ""
+"Aquesta aplicació està en el grup '%s', s'està establint la prioritat alta."
 
-#: ../src/daemon/main.c:463
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Aquesta aplicació està en el grup '%s', s'està establint la prioritat en temps real."
+msgstr ""
+"Aquesta aplicació està en el grup '%s', s'està establint la prioritat en "
+"temps real."
 
-#: ../src/daemon/main.c:471
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "PolicyKit ha permés el privilegi acquire-high-priority."
 
-#: ../src/daemon/main.c:474
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "PolicyKit ha rebutjat el privilegi acquire-high-priority."
 
-#: ../src/daemon/main.c:479
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "PolicyKit h permés el privilegi acquire-real-time."
 
-#: ../src/daemon/main.c:482
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "PolicyKit ha rebutjat el privilegi acquire-real-time."
 
-#: ../src/daemon/main.c:511
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the appropriate PolicyKit privileges, or become a member of '%s', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+"Called SUID root and real-time and/or high-priority scheduling was requested "
+"in the configuration. However, we lack the necessary privileges:\n"
+"We are not in group '%s', PolicyKit refuse to grant us the requested "
+"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+"limits.\n"
+"For enabling real-time/high-priority scheduling please acquire the "
+"appropriate PolicyKit privileges, or become a member of '%s', or increase "
+"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
-"S'ha demanat SUID de root i una planificació de temps real i/o d'alta prioritat. De totes formes, falten els privilegis necessaris:\n"
-"No es pertany al grup '%s'. PolicyKit no atorga els privilegis demanats i no s'ha incrementat els límits de recursos RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Per habilitar la planificació en temps real o d'alta prioritat, heu d'obtenir els privilegis de PolicyKits adequats, o pertànyer al grup '%s', o incrementar els límits de recursos de RLIMIT_NICE/RLIMIT_RTPRIO per a aquest usuari."
-
-#: ../src/daemon/main.c:536
-msgid "High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "La prioritat alta està habilitada en la configuració però no està permesa per la política."
+"S'ha demanat SUID de root i una planificació de temps real i/o d'alta "
+"prioritat. De totes formes, falten els privilegis necessaris:\n"
+"No es pertany al grup '%s'. PolicyKit no atorga els privilegis demanats i no "
+"s'ha incrementat els límits de recursos RLIMIT_NICE/RLIMIT_RTPRIO.\n"
+"Per habilitar la planificació en temps real o d'alta prioritat, heu "
+"d'obtenir els privilegis de PolicyKits adequats, o pertànyer al grup '%s', o "
+"incrementar els límits de recursos de RLIMIT_NICE/RLIMIT_RTPRIO per a aquest "
+"usuari."
+
+#: ../src/daemon/main.c:566
+msgid ""
+"High-priority scheduling enabled in configuration but not allowed by policy."
+msgstr ""
+"La prioritat alta està habilitada en la configuració però no està permesa "
+"per la política."
 
-#: ../src/daemon/main.c:565
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit."
 
-#: ../src/daemon/main.c:568
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s"
 
-#: ../src/daemon/main.c:575
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "S'abandona CAP_NICE"
 
-#: ../src/daemon/main.c:582
-msgid "Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "La prioritat de temps real està habilitada en la configuració però no està permesa per la política."
+#: ../src/daemon/main.c:612
+msgid ""
+"Real-time scheduling enabled in configuration but not allowed by policy."
+msgstr ""
+"La prioritat de temps real està habilitada en la configuració però no està "
+"permesa per la política."
 
-#: ../src/daemon/main.c:643
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "El dimoni no s'està executant"
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "El dimoni s'està executant amb PID %u"
 
-#: ../src/daemon/main.c:655
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "S'ha produït un error en matar el dimoni: %s"
 
-#: ../src/daemon/main.c:673
-msgid "This program is not intended to be run as root (unless --system is specified)."
-msgstr "No és necessari executar aquesta aplicació com a root (excepte si s'especifica --system)"
+#: ../src/daemon/main.c:703
+msgid ""
+"This program is not intended to be run as root (unless --system is "
+"specified)."
+msgstr ""
+"No és necessari executar aquesta aplicació com a root (excepte si "
+"s'especifica --system)"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "Es requereixen privilegis de root."
 
-#: ../src/daemon/main.c:680
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "La opció --start no està suportada per a instàncies de sistema."
 
-#: ../src/daemon/main.c:685
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
-msgstr "S'està executant en mode sistema, però no s'ha especificat l'opció --disallow-exit."
+msgstr ""
+"S'està executant en mode sistema, però no s'ha especificat l'opció --"
+"disallow-exit."
 
-#: ../src/daemon/main.c:688
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
-msgstr "S'està executant en mode sistema, però no s'ha especificat l'opció --disallow-module-loading."
+msgstr ""
+"S'està executant en mode sistema, però no s'ha especificat l'opció --"
+"disallow-module-loading."
 
-#: ../src/daemon/main.c:691
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
-msgstr "S'està executant en mode sistema, es deshabilitarà el mode SHM forçosament."
+msgstr ""
+"S'està executant en mode sistema, es deshabilitarà el mode SHM forçosament."
 
-#: ../src/daemon/main.c:696
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
-msgstr "S'està executant en mode sistema, la sortida per temps d'inactivitat es deshabilita."
+msgstr ""
+"S'està executant en mode sistema, la sortida per temps d'inactivitat es "
+"deshabilita."
 
-#: ../src/daemon/main.c:723
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "S'ha produït un error en adquirir stdio."
 
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "Ha fallat la canonada: %s"
 
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "Ha fallat fork(): %s"
 
-#: ../src/daemon/main.c:748
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "Ha fallat read(): %s"
 
-#: ../src/daemon/main.c:754
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "S'ha produït un error en iniciar el dimoni."
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "S'ha iniciat el dimoni."
 
-#: ../src/daemon/main.c:826
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Aquest és el PulseAudio %s"
 
-#: ../src/daemon/main.c:827
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Host de compilació: %s"
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "CFLAGS de compilació: %s"
 
-#: ../src/daemon/main.c:831
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "S'està executant en el host: %s"
 
-#: ../src/daemon/main.c:834
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "S'han trobat %u CPU's"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "La mida de pàgina és de %lu bytes."
 
-#: ../src/daemon/main.c:839
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Compilat amb suport per a Valgrind: sí"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Compilat amb suport per a Valgrind: no"
 
-#: ../src/daemon/main.c:844
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "S'està executant amb el mode valgrind: %s"
 
-#: ../src/daemon/main.c:847
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Construcció optimitzada: sí"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Construcció optmitzada: no"
 
-#: ../src/daemon/main.c:853
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "S'ha produït un error en obtenir l'ID de la màquina"
 
-#: ../src/daemon/main.c:856
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "L'ID de la màquina és %s."
 
-#: ../src/daemon/main.c:861
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "S'està utilitzant el directori d'execució %s."
 
-#: ../src/daemon/main.c:866
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "S'està utilitzant el directori d'estat %s."
 
-#: ../src/daemon/main.c:869
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "S'està executant en mode sistema: %s"
 
-#: ../src/daemon/main.c:884
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "S'ha produït un error en pa_pid_file_create()."
 
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "Estan disponibles els temporitzadors frescos de alta resolució."
 
-#: ../src/daemon/main.c:898
-msgid "Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!"
-msgstr "Es recomana la utilització d'un nucli amb els temporitzadors d'alta resolució habilitats."
+#: ../src/daemon/main.c:936
+msgid ""
+"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
+"resolution timers enabled!"
+msgstr ""
+"Es recomana la utilització d'un nucli amb els temporitzadors d'alta "
+"resolució habilitats."
 
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "S'ha produït un error en pa_core_new()."
 
-#: ../src/daemon/main.c:972
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "S'ha produït un error en inicialitzar el dimoni."
 
-#: ../src/daemon/main.c:977
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "Com el dimoni s'ha iniciat sense cap mòdul carregat, no funciona."
 
-#: ../src/daemon/main.c:990
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "S'ha completat la inicialització del dimoni."
 
-#: ../src/daemon/main.c:996
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "S'ha iniciat l'aturada del dimoni."
 
-#: ../src/daemon/main.c:1014
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "S'ha aturat el dimoni."
 
@@ -488,37 +554,48 @@ msgid ""
 "      --dump-conf                       Dump default configuration\n"
 "      --dump-modules                    Dump list of available modules\n"
 "      --dump-resample-methods           Dump available resample methods\n"
-"      --cleanup-shm                     Cleanup stale shared memory segments\n"
-"      --start                           Start the daemon if it is not running\n"
+"      --cleanup-shm                     Cleanup stale shared memory "
+"segments\n"
+"      --start                           Start the daemon if it is not "
+"running\n"
 "  -k  --kill                            Kill a running daemon\n"
-"      --check                           Check for a running daemon (only returns exit code)\n"
+"      --check                           Check for a running daemon (only "
+"returns exit code)\n"
 "\n"
 "OPTIONS:\n"
 "      --system[=BOOL]                   Run as system-wide instance\n"
 "  -D, --daemonize[=BOOL]                Daemonize after startup\n"
 "      --fail[=BOOL]                     Quit when startup fails\n"
 "      --high-priority[=BOOL]            Try to set high nice level\n"
-"                                        (only available as root, when SUID or\n"
+"                                        (only available as root, when SUID "
+"or\n"
 "                                        with elevated RLIMIT_NICE)\n"
 "      --realtime[=BOOL]                 Try to enable realtime scheduling\n"
-"                                        (only available as root, when SUID or\n"
+"                                        (only available as root, when SUID "
+"or\n"
 "                                        with elevated RLIMIT_RTPRIO)\n"
-"      --disallow-module-loading[=BOOL]  Disallow module user requested module\n"
+"      --disallow-module-loading[=BOOL]  Disallow module user requested "
+"module\n"
 "                                        loading/unloading after startup\n"
 "      --disallow-exit[=BOOL]            Disallow user requested exit\n"
-"      --exit-idle-time=SECS             Terminate the daemon when idle and this\n"
+"      --exit-idle-time=SECS             Terminate the daemon when idle and "
+"this\n"
 "                                        time passed\n"
-"      --module-idle-time=SECS           Unload autoloaded modules when idle and\n"
+"      --module-idle-time=SECS           Unload autoloaded modules when idle "
+"and\n"
 "                                        this time passed\n"
-"      --scache-idle-time=SECS           Unload autoloaded samples when idle and\n"
+"      --scache-idle-time=SECS           Unload autoloaded samples when idle "
+"and\n"
 "                                        this time passed\n"
 "      --log-level[=LEVEL]               Increase or set verbosity level\n"
 "  -v                                    Increase the verbosity level\n"
 "      --log-target={auto,syslog,stderr} Specify the log target\n"
-"      --log-meta[=BOOL]                 Include code location in log messages\n"
+"      --log-meta[=BOOL]                 Include code location in log "
+"messages\n"
 "      --log-time[=BOOL]                 Include timestamps in log messages\n"
 "      --log-backtrace=FRAMES            Include a backtrace in log messages\n"
-"  -p, --dl-search-path=PATH             Set the search path for dynamic shared\n"
+"  -p, --dl-search-path=PATH             Set the search path for dynamic "
+"shared\n"
 "                                        objects (plugins)\n"
 "      --resample-method=METHOD          Use the specified resampling method\n"
 "                                        (See --dump-resample-methods for\n"
@@ -529,10 +606,12 @@ msgid ""
 "      --disable-shm[=BOOL]              Disable shared memory support.\n"
 "\n"
 "STARTUP SCRIPT:\n"
-"  -L, --load=\"MODULE ARGUMENTS\"         Load the specified plugin module with\n"
+"  -L, --load=\"MODULE ARGUMENTS\"         Load the specified plugin module "
+"with\n"
 "                                        the specified argument\n"
 "  -F, --file=FILENAME                   Run the specified script\n"
-"  -C                                    Open a command line on the running TTY\n"
+"  -C                                    Open a command line on the running "
+"TTY\n"
 "                                        after startup\n"
 "\n"
 "  -n                                    Don't load default script file\n"
@@ -544,54 +623,81 @@ msgstr ""
 "      --version                         Mostra la versió\n"
 "      --dump-conf                       Volca la configuració per omissió\n"
 "      --dump-modules                    Volca la llista de mòduls\n"
-"      --dump-resample-methods           Volca els mètodes disponibles de remostratge\n"
-"      --cleanup-shm                     Neteja els segments de memòria compartida sense emprar\n"
-"      --start                           Inicia el dimoni si aquest no està corrent\n"
+"      --dump-resample-methods           Volca els mètodes disponibles de "
+"remostratge\n"
+"      --cleanup-shm                     Neteja els segments de memòria "
+"compartida sense emprar\n"
+"      --start                           Inicia el dimoni si aquest no està "
+"corrent\n"
 "  -k  --kill                            Mata el dimoni en execució\n"
 "      --check                           Comprova l'execució del dimoni\n"
 "\n"
 "OPCIONS:\n"
-"      --system[=BOOL]                   Executa com una instància de sistema\n"
-"  -D, --daemonize[=BOOL]                Converteix en dimoni després de la inicialització\n"
+"      --system[=BOOL]                   Executa com una instància de "
+"sistema\n"
+"  -D, --daemonize[=BOOL]                Converteix en dimoni després de la "
+"inicialització\n"
 "      --fail[=BOOL]                     Surt quan falli la inicialització\n"
 "      --high-priority[=BOOL]            Prova d'establir un nivell de \n"
-"                                        prioritat alt (només disponible com a root,\n"
-"                                        amb SUID o amb un RLIMIT_NICE elevat)\n"
+"                                        prioritat alt (només disponible com "
+"a root,\n"
+"                                        amb SUID o amb un RLIMIT_NICE "
+"elevat)\n"
 "      --realtime[=BOOL]                 Intenta habilitar la programació en\n"
-"                                        en temps real (només disponible com a root,\n"
-"                                        amb SUID o amb un RLIMIT_RTPRIO elevat)\n"
-"      --disallow-module-loading[=BOOL]  Inhabilita el mòdul de carrega/descarrega \n"
-"                                        de mòduls demanats per l'usuari després de l'inici\n"
-"      --disallow-exit[=BOOL]            Inhabilita la petició de l'usuari de sortida\n"
-"      --exit-idle-time=SEGS             Mata el dimoni quan estigui inactiu i hagi passat\n"
+"                                        en temps real (només disponible com "
+"a root,\n"
+"                                        amb SUID o amb un RLIMIT_RTPRIO "
+"elevat)\n"
+"      --disallow-module-loading[=BOOL]  Inhabilita el mòdul de carrega/"
+"descarrega \n"
+"                                        de mòduls demanats per l'usuari "
+"després de l'inici\n"
+"      --disallow-exit[=BOOL]            Inhabilita la petició de l'usuari de "
+"sortida\n"
+"      --exit-idle-time=SEGS             Mata el dimoni quan estigui inactiu "
+"i hagi passat\n"
 "                                        aquest temps\n"
-"      --module-idle-time=SEGS           Descarrega els mòduls carregats automàticament\n"
-"                                        quan estigui inactiu o hagi passat aquest temps\n"
-"      --scache-idle-time=SEGS           Descarrega les mostres carregades automàticament\n"
-"                                        després que hagi passat aquest temps\n"
-"      --log-level[=NIVELL]              Incrementa o especifica el nivell de detall\n"
+"      --module-idle-time=SEGS           Descarrega els mòduls carregats "
+"automàticament\n"
+"                                        quan estigui inactiu o hagi passat "
+"aquest temps\n"
+"      --scache-idle-time=SEGS           Descarrega les mostres carregades "
+"automàticament\n"
+"                                        després que hagi passat aquest "
+"temps\n"
+"      --log-level[=NIVELL]              Incrementa o especifica el nivell de "
+"detall\n"
 "  -v                                    Incrementa el nivell de detall\n"
 "      --log-target={auto,syslog,stderr} Especifica el destí del registre\n"
-"      --log-meta[=BOOL]                 Inclou codi de localització en els missatges de registre\n"
-"      --log-time[=BOOL]                 Inclou marques de temps en els missatges de registre\n"
-"      --log-backtrace=FRAMES            Inclou una traça en els missatges de registre\n"
-"  -p, --dl-search-path=CAMI             Estableix el camí de cerca d'objectes dinàmics\n"
+"      --log-meta[=BOOL]                 Inclou codi de localització en els "
+"missatges de registre\n"
+"      --log-time[=BOOL]                 Inclou marques de temps en els "
+"missatges de registre\n"
+"      --log-backtrace=FRAMES            Inclou una traça en els missatges de "
+"registre\n"
+"  -p, --dl-search-path=CAMI             Estableix el camí de cerca "
+"d'objectes dinàmics\n"
 "                                        compartits (plugins)\n"
 "      --resample-method=METODE          Utilitza el mètode de remostreig\n"
-"                                        (Per veure els valors possibles utilitza                                        --dump-resample-methods)\n"
+"                                        (Per veure els valors possibles "
+"utilitza                                        --dump-resample-methods)\n"
 "      --use-pid-file[=BOOL]             Crea un fitxer PID\n"
-"      --no-cpu-limit[=BOOL]             No instal·lis un limitador de càrrega de CPU\n"
+"      --no-cpu-limit[=BOOL]             No instal·lis un limitador de "
+"càrrega de CPU\n"
 "                                        en plataformes que ho suportin.\n"
-"      --disable-shm[=BOOL]              Inhabilita el suport de memòria compartida.\n"
+"      --disable-shm[=BOOL]              Inhabilita el suport de memòria "
+"compartida.\n"
 "\n"
 "SCRIPT D'INICI:\n"
 "  -L, --load=\"ARGUMENTS MODUL\"        Carrega el mòdul especificat amb\n"
 "                                        els arguments especificats\n"
 "  -F, --file=NOMFITXER                  Executa l'script especificat\n"
-"  -C                                    Obre una línia d'ordres en la TTY actual després\n"
+"  -C                                    Obre una línia d'ordres en la TTY "
+"actual després\n"
 "                                        de l'inici\n"
 "\n"
-"  -n                                    No carreguis el fitxer de configuració per omissió\n"
+"  -n                                    No carreguis el fitxer de "
+"configuració per omissió\n"
 
 #: ../src/daemon/cmdline.c:252
 msgid "--daemonize expects boolean argument"
@@ -602,8 +708,12 @@ msgid "--fail expects boolean argument"
 msgstr "--fail necessita un argument booleà"
 
 #: ../src/daemon/cmdline.c:269
-msgid "--log-level expects log level argument (either numeric in range 0..4 or one of debug, info, notice, warn, error)."
-msgstr "--log-level necessita un argument de nivell de log (valor númeric 0..4 o debug, info, notice, warn, error)."
+msgid ""
+"--log-level expects log level argument (either numeric in range 0..4 or one "
+"of debug, info, notice, warn, error)."
+msgstr ""
+"--log-level necessita un argument de nivell de log (valor númeric 0..4 o "
+"debug, info, notice, warn, error)."
 
 #: ../src/daemon/cmdline.c:281
 msgid "--high-priority expects boolean argument"
@@ -694,76 +804,80 @@ msgstr "Càrrega: %s\n"
 msgid "Path: %s\n"
 msgstr "Ruta: %s\n"
 
-#: ../src/daemon/daemon-conf.c:213
+#: ../src/daemon/daemon-conf.c:215
 #, c-format
 msgid "[%s:%u] Invalid log target '%s'."
 msgstr "[%s:%u] Destí de registre incorrecte '%s'"
 
-#: ../src/daemon/daemon-conf.c:229
+#: ../src/daemon/daemon-conf.c:231
 #, c-format
 msgid "[%s:%u] Invalid log level '%s'."
 msgstr "[%s:%u] Nivell de registre incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:245
+#: ../src/daemon/daemon-conf.c:247
 #, c-format
 msgid "[%s:%u] Invalid resample method '%s'."
 msgstr "[%s:%u] Mètode de remostreig incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:268
+#: ../src/daemon/daemon-conf.c:270
 #, c-format
 msgid "[%s:%u] Invalid rlimit '%s'."
 msgstr "[%s:%u] rlimit incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:275
+#: ../src/daemon/daemon-conf.c:277
 #, c-format
 msgid "[%s:%u] rlimit not supported on this platform."
 msgstr "[%s:%u] rlimit no disponible en aquesta plataforma."
 
-#: ../src/daemon/daemon-conf.c:291
+#: ../src/daemon/daemon-conf.c:293
 #, c-format
 msgid "[%s:%u] Invalid sample format '%s'."
 msgstr "[%s:%u] Format de mostra incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:309
+#: ../src/daemon/daemon-conf.c:311
 #, c-format
 msgid "[%s:%u] Invalid sample rate '%s'."
 msgstr "[%s:%u] Velocitat de mostreig '%s'."
 
-#: ../src/daemon/daemon-conf.c:333
+#: ../src/daemon/daemon-conf.c:335
 #, c-format
 msgid "[%s:%u] Invalid sample channels '%s'."
 msgstr "[%s:%u] Canals de mostreig incorrectes '%s'."
 
-#: ../src/daemon/daemon-conf.c:351
+#: ../src/daemon/daemon-conf.c:353
 #, c-format
 msgid "[%s:%u] Invalid channel map '%s'."
 msgstr "[%s:%u] Mapa de canals incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:369
+#: ../src/daemon/daemon-conf.c:371
 #, c-format
 msgid "[%s:%u] Invalid number of fragments '%s'."
 msgstr "[%s:%u] Nombre de fragments incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:387
+#: ../src/daemon/daemon-conf.c:389
 #, c-format
 msgid "[%s:%u] Invalid fragment size '%s'."
 msgstr "[%s:%u] Mida de fragment incorrecta '%s'."
 
-#: ../src/daemon/daemon-conf.c:405
+#: ../src/daemon/daemon-conf.c:407
 #, c-format
 msgid "[%s:%u] Invalid nice level '%s'."
 msgstr "[%s:%u] Nivell de prioritat incorrecte '%s'."
 
-#: ../src/daemon/daemon-conf.c:518
+#: ../src/daemon/daemon-conf.c:522
 #, c-format
 msgid "Failed to open configuration file: %s"
 msgstr "Error en obrir el fitxer de configuració: %s"
 
-#: ../src/daemon/daemon-conf.c:534
-msgid "The specified default channel map has a different number of channels than the specified default number of channels."
-msgstr "El mapa de canals especificat per omissió té un número de canals diferent del número de canals especificat per omissió."
+#: ../src/daemon/daemon-conf.c:538
+msgid ""
+"The specified default channel map has a different number of channels than "
+"the specified default number of channels."
+msgstr ""
+"El mapa de canals especificat per omissió té un número de canals diferent "
+"del número de canals especificat per omissió."
 
-#: ../src/daemon/daemon-conf.c:612
+#: ../src/daemon/daemon-conf.c:616
 #, c-format
 msgid "### Read from configuration file: %s ###\n"
 msgstr "### Lectura del fitxer de configuració: %s ###\n"
@@ -784,8 +898,28 @@ msgstr "Sistema de so PulseAudio"
 msgid "Start the PulseAudio Sound System"
 msgstr "Inicialitza el sistema de so PulseAudio"
 
-#: ../src/pulse/channelmap.c:103
-#: ../src/pulse/channelmap.c:804
+#: ../src/daemon/org.pulseaudio.policy.in.h:1
+msgid ""
+"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
+msgstr ""
+
+#: ../src/daemon/org.pulseaudio.policy.in.h:2
+#, fuzzy
+msgid "Real-time scheduling for the PulseAudio daemon"
+msgstr "Ha fallat en matar el dimoni PulseAudio."
+
+#: ../src/daemon/org.pulseaudio.policy.in.h:3
+#, fuzzy
+msgid ""
+"System policy prevents PulseAudio from acquiring high-priority scheduling."
+msgstr ""
+"Aquesta aplicació està en el grup '%s', s'està establint la prioritat alta."
+
+#: ../src/daemon/org.pulseaudio.policy.in.h:4
+msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
+msgstr ""
+
+#: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804
 msgid "Mono"
 msgstr "Mono"
 
@@ -989,12 +1123,9 @@ msgstr "Superior posterior esquerra"
 msgid "Top Rear Right"
 msgstr "Superior posterior dreta"
 
-#: ../src/pulse/channelmap.c:476
-#: ../src/pulse/sample.c:167
-#: ../src/pulse/volume.c:170
-#: ../src/pulse/volume.c:196
-#: ../src/pulse/volume.c:216
-#: ../src/pulse/volume.c:246
+#: ../src/pulse/channelmap.c:476 ../src/pulse/sample.c:167
+#: ../src/pulse/volume.c:170 ../src/pulse/volume.c:196
+#: ../src/pulse/volume.c:216 ../src/pulse/volume.c:246
 msgid "(invalid)"
 msgstr "(incorrecte)"
 
@@ -1118,6 +1249,10 @@ msgstr "Funcionalitat obsoleta"
 msgid "Missing implementation"
 msgstr "Manca la implementació"
 
+#: ../src/pulse/error.c:67
+msgid "Client forked"
+msgstr ""
+
 #: ../src/pulse/sample.c:169
 #, c-format
 msgid "%s %uch %uHz"
@@ -1143,8 +1278,7 @@ msgstr "%0.1f KB"
 msgid "%u B"
 msgstr "%u B"
 
-#: ../src/pulse/client-conf-x11.c:55
-#: ../src/utils/pax11publish.c:100
+#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100
 msgid "XOpenDisplay() failed"
 msgstr "Ha fallat XOpenDisplay()"
 
@@ -1157,21 +1291,21 @@ msgstr "Ha fallat el parseig de les dades de la cookie"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "S'ha produït un error en obrir el fitxer de configuració '%s': %s"
 
-#: ../src/pulse/context.c:519
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "No s'ha carregat cap cookie. S'està intentant connectar sense aquesta."
 
-#: ../src/pulse/context.c:649
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:702
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1279
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "S'ha rebut un missatge per a l'extensió desconeguda '%s'"
@@ -1209,7 +1343,9 @@ msgstr "Mètriques del búffer: maxlength=%u, fragsize=%u\n"
 #: ../src/utils/pacat.c:183
 #, c-format
 msgid "Using sample spec '%s', channel map '%s'.\n"
-msgstr "S'estan utilitzant les especificacions de mostreig '%s', mapejat del canal '%s'.\n"
+msgstr ""
+"S'estan utilitzant les especificacions de mostreig '%s', mapejat del canal '%"
+"s'.\n"
 
 #: ../src/utils/pacat.c:187
 #, c-format
@@ -1255,93 +1391,93 @@ msgstr "S'ha mogut el flux al dispositiu %s (%u, %s suspés).%s\n"
 msgid "not "
 msgstr "no"
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Dades insuficients al flux .%s\n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "S'ha establert la connexió.%s\n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "Ha fallat pa_stream_new(): %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "Ha fallat pa_stream_connect_playback(): %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "Ha fallat pa_stream_connect_record(): %s\n"
 
-#: ../src/utils/pacat.c:321
-#: ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:762
-#: ../src/utils/paplay.c:183
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
+#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Ha fallat la connexió: %s\n"
 
-#: ../src/utils/pacat.c:341
-#: ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "S'ha produït un error en drenar el fluxe: %s\n"
 
-#: ../src/utils/pacat.c:346
-#: ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Stream de reproducció drenat.\n"
 
-#: ../src/utils/pacat.c:356
-#: ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "S'està drenant la connexió amb el servidor.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "S'ha llegit EOF.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "Ha fallat read(): %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "Ha fallat write(): %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "S'ha rebut un senyal, s'està sortint.\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Ha fallat en obtenir la latència: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Temps: %0.3f segs; Latència: %0.0f microsegs.\r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "Ha fallat pa_stream_update_timing_info(): %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1354,61 +1490,94 @@ msgid ""
 "\n"
 "  -v, --verbose                         Enable verbose operations\n"
 "\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
-"  -d, --device=DEVICE                   The name of the sink/source to connect to\n"
-"  -n, --client-name=NAME                How to call this client on the server\n"
-"      --stream-name=NAME                How to call this stream on the server\n"
-"      --volume=VOLUME                   Specify the initial (linear) volume in range 0...65536\n"
-"      --rate=SAMPLERATE                 The sample rate in Hz (defaults to 44100)\n"
-"      --format=SAMPLEFORMAT             The sample type, one of s16le, s16be, u8, float32le,\n"
-"                                        float32be, ulaw, alaw, s32le, s32be (defaults to s16ne)\n"
-"      --channels=CHANNELS               The number of channels, 1 for mono, 2 for stereo\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
+"  -d, --device=DEVICE                   The name of the sink/source to "
+"connect to\n"
+"  -n, --client-name=NAME                How to call this client on the "
+"server\n"
+"      --stream-name=NAME                How to call this stream on the "
+"server\n"
+"      --volume=VOLUME                   Specify the initial (linear) volume "
+"in range 0...65536\n"
+"      --rate=SAMPLERATE                 The sample rate in Hz (defaults to "
+"44100)\n"
+"      --format=SAMPLEFORMAT             The sample type, one of s16le, "
+"s16be, u8, float32le,\n"
+"                                        float32be, ulaw, alaw, s32le, s32be "
+"(defaults to s16ne)\n"
+"      --channels=CHANNELS               The number of channels, 1 for mono, "
+"2 for stereo\n"
 "                                        (defaults to 2)\n"
-"      --channel-map=CHANNELMAP          Channel map to use instead of the default\n"
-"      --fix-format                      Take the sample format from the sink the stream is\n"
+"      --channel-map=CHANNELMAP          Channel map to use instead of the "
+"default\n"
+"      --fix-format                      Take the sample format from the sink "
+"the stream is\n"
 "                                        being connected to.\n"
-"      --fix-rate                        Take the sampling rate from the sink the stream is\n"
+"      --fix-rate                        Take the sampling rate from the sink "
+"the stream is\n"
 "                                        being connected to.\n"
-"      --fix-channels                    Take the number of channels and the channel map\n"
-"                                        from the sink the stream is being connected to.\n"
+"      --fix-channels                    Take the number of channels and the "
+"channel map\n"
+"                                        from the sink the stream is being "
+"connected to.\n"
 "      --no-remix                        Don't upmix or downmix channels.\n"
-"      --no-remap                        Map channels by index instead of name.\n"
-"      --latency=BYTES                   Request the specified latency in bytes.\n"
-"      --process-time=BYTES              Request the specified process time per request in bytes.\n"
+"      --no-remap                        Map channels by index instead of "
+"name.\n"
+"      --latency=BYTES                   Request the specified latency in "
+"bytes.\n"
+"      --process-time=BYTES              Request the specified process time "
+"per request in bytes.\n"
 msgstr ""
 "%s [opcions]\n"
 "\n"
 "  -h, --help                            Mostra aquesta ajuda\n"
 "      --version                         Mostra la versió\n"
 "\n"
-"  -r, --record                          Crea una connexió per a l'enregistrament\n"
-"  -p, --playback                        Crea una connexió per a la reproducció\n"
+"  -r, --record                          Crea una connexió per a "
+"l'enregistrament\n"
+"  -p, --playback                        Crea una connexió per a la "
+"reproducció\n"
 "\n"
 "  -v, --verbose                         Habilita les operacions detallades\n"
 "\n"
-"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-se\n"
-"  -d, --device=DISPOSITIU               Nom del conducte/font al qual connectar-se\n"
-"  -n, --client-name=NOM                 Com cridar aquest client al servidor\n"
+"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-"
+"se\n"
+"  -d, --device=DISPOSITIU               Nom del conducte/font al qual "
+"connectar-se\n"
+"  -n, --client-name=NOM                 Com cridar aquest client al "
+"servidor\n"
 "      --stream-name=NOM                 Com cridar aquest flux al servidor\n"
-"      --volume=VOLUM                    Especifica el volum inicial lineal dins el rang 0...65536\n"
-"      --rate=VELOCITATMOSTREIG          La velocitat de mostreig en Hz (per omissió, 44100)\n"
-"      --format=FORMATMOSTRA             El tipus de mostra, una de s16le, s16be, u8, float32le,\n"
-"                                        float32be, ulaw, alaw, s32le, s32be (per omissió, s16ne)\n"
-"      --channels=CANALS                 Número de canals, 1 per a mono, 2 per a estèreo\n"
+"      --volume=VOLUM                    Especifica el volum inicial lineal "
+"dins el rang 0...65536\n"
+"      --rate=VELOCITATMOSTREIG          La velocitat de mostreig en Hz (per "
+"omissió, 44100)\n"
+"      --format=FORMATMOSTRA             El tipus de mostra, una de s16le, "
+"s16be, u8, float32le,\n"
+"                                        float32be, ulaw, alaw, s32le, s32be "
+"(per omissió, s16ne)\n"
+"      --channels=CANALS                 Número de canals, 1 per a mono, 2 "
+"per a estèreo\n"
 "                                        (per omissió, 2)\n"
 "      --channel-map=MAPACANAL           Mapa de canals a utilitzar\n"
-"      --fix-format                      Pren el format de mostra del conducte al qual s'està connectant\n"
+"      --fix-format                      Pren el format de mostra del "
+"conducte al qual s'està connectant\n"
 "                                        el flux.\n"
-"      --fix-rate                        Pren la velocitat de mostreig del conducte al qual\n"
+"      --fix-rate                        Pren la velocitat de mostreig del "
+"conducte al qual\n"
 "                                        s'està connectant el flux.\n"
-"      --fix-channels                    Pren el número de canals i el mapa de canals del\n"
-"                                        conducte al qual s'està connectant el flux.\n"
+"      --fix-channels                    Pren el número de canals i el mapa "
+"de canals del\n"
+"                                        conducte al qual s'està connectant "
+"el flux.\n"
 "      --no-remix                        No mesclar els canals.\n"
-"      --no-remap                        Mapeja els canals per índex enlloc de per nom .\n"
+"      --no-remap                        Mapeja els canals per índex enlloc "
+"de per nom .\n"
 "      --latency=BYTES                   Especifica la latència en bytes.\n"
-"      --process-time=BYTES              Especifica el temps de procés per petició en bytes.\n"
+"      --process-time=BYTES              Especifica el temps de procés per "
+"petició en bytes.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1419,96 +1588,89 @@ msgstr ""
 "Compil·lat amb libpulse %s\n"
 "Enllaçat amb libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Mapa de canals invàlid '%s'\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Especificació de latència invàlida '%s'\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Especificació de temps de procés invàlida '%s'\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Especificació de mostra invàlida\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "El mapa de canals no coincideix amb l'especificació de mostra\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "S'està obrint un flux %s amb especificació de mostra '%s'.\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "enregistrant"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "reproducció"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Hi han massa arguments.\n"
 
-#: ../src/utils/pacat.c:756
-#: ../src/utils/pasuspender.c:280
-#: ../src/utils/pactl.c:1017
-#: ../src/utils/paplay.c:381
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
+#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "Ha fallat pa_mainloop_new().\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "Ha fallat io_new().\n"
 
-#: ../src/utils/pacat.c:783
-#: ../src/utils/pasuspender.c:293
-#: ../src/utils/pactl.c:1031
-#: ../src/utils/paplay.c:396
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
+#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "Ha fallat pa_context_new().\n"
 
-#: ../src/utils/pacat.c:791
-#: ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "Ha fallat pa_context_connect(): %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "Ha fallat time_new().\n"
 
-#: ../src/utils/pacat.c:809
-#: ../src/utils/pasuspender.c:301
-#: ../src/utils/pactl.c:1042
-#: ../src/utils/paplay.c:410
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
+#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
 msgstr "Ha fallat pa_mainloop_run().\n"
@@ -1538,8 +1700,7 @@ msgstr "Ha fallat en reprendre: %s\n"
 msgid "WARNING: Sound server is not local, not suspending.\n"
 msgstr "ADVERTÈNCIA: el sevidor de so no és local, no s'està suspenent.\n"
 
-#: ../src/utils/pasuspender.c:176
-#: ../src/utils/pactl.c:768
+#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768
 #: ../src/utils/paplay.c:191
 #, c-format
 msgid "Got SIGINT, exiting.\n"
@@ -1557,14 +1718,16 @@ msgid ""
 "\n"
 "  -h, --help                            Show this help\n"
 "      --version                         Show version\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
 "\n"
 msgstr ""
 "%s [opcions] ... \n"
 "\n"
 "  -h, --help                            Mostra aquesta ajuda\n"
 "      --version                         Mostra la versió\n"
-"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-se\n"
+"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-"
+"se\n"
 "\n"
 
 #: ../src/utils/pasuspender.c:251
@@ -1591,7 +1754,8 @@ msgstr "Actualment s'estan utilitzant: %u blocs contenent %s bytes en total.\n"
 #: ../src/utils/pactl.c:117
 #, c-format
 msgid "Allocated during whole lifetime: %u blocks containing %s bytes total.\n"
-msgstr "Allotjats durant el temps de vida: %u blocs contenent %s bytes en total.\n"
+msgstr ""
+"Allotjats durant el temps de vida: %u blocs contenent %s bytes en total.\n"
 
 #: ../src/utils/pactl.c:120
 #, c-format
@@ -1714,18 +1878,10 @@ msgstr ""
 "\tPropietats:\n"
 "\t\t%s\n"
 
-#: ../src/utils/pactl.c:306
-#: ../src/utils/pactl.c:350
-#: ../src/utils/pactl.c:385
-#: ../src/utils/pactl.c:422
-#: ../src/utils/pactl.c:481
-#: ../src/utils/pactl.c:482
-#: ../src/utils/pactl.c:492
-#: ../src/utils/pactl.c:536
-#: ../src/utils/pactl.c:537
-#: ../src/utils/pactl.c:543
-#: ../src/utils/pactl.c:586
-#: ../src/utils/pactl.c:587
+#: ../src/utils/pactl.c:306 ../src/utils/pactl.c:350 ../src/utils/pactl.c:385
+#: ../src/utils/pactl.c:422 ../src/utils/pactl.c:481 ../src/utils/pactl.c:482
+#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537
+#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587
 #: ../src/utils/pactl.c:594
 msgid "n/a"
 msgstr "n/d"
@@ -1916,8 +2072,7 @@ msgstr ""
 "\tPropietats:\n"
 "\t\t%s\n"
 
-#: ../src/utils/pactl.c:602
-#: ../src/utils/pactl.c:612
+#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612
 #, c-format
 msgid "Failure: %s\n"
 msgstr "Ha fallat: %s\n"
@@ -1952,8 +2107,10 @@ msgid ""
 "  -h, --help                            Show this help\n"
 "      --version                         Show version\n"
 "\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
-"  -n, --client-name=NAME                How to call this client on the server\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
+"  -n, --client-name=NAME                How to call this client on the "
+"server\n"
 msgstr ""
 "%s [opcions] stat\n"
 "%s [opcions] list\n"
@@ -1972,8 +2129,10 @@ msgstr ""
 "  -h, --help                            Mostra aquesta ajuda\n"
 "      --version                         Mostra la versió\n"
 "\n"
-"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-se\n"
-"  -n, --client-name=NOM                 Com cridar aquest client al servidor\n"
+"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-"
+"se\n"
+"  -n, --client-name=NOM                 Com cridar aquest client al "
+"servidor\n"
 
 #: ../src/utils/pactl.c:826
 #, c-format
@@ -2028,13 +2187,20 @@ msgstr "Heu d'especificar un índex de mòdul\n"
 
 #: ../src/utils/pactl.c:972
 #, c-format
-msgid "You may not specify more than one sink. You have to specify a boolean value.\n"
-msgstr "No haríeu d'especificar més d'un conducte. Heu d'especifcar un valor booleà.\n"
+msgid ""
+"You may not specify more than one sink. You have to specify a boolean "
+"value.\n"
+msgstr ""
+"No haríeu d'especificar més d'un conducte. Heu d'especifcar un valor "
+"booleà.\n"
 
 #: ../src/utils/pactl.c:985
 #, c-format
-msgid "You may not specify more than one source. You have to specify a boolean value.\n"
-msgstr "No haríeu d'especificar més d'una font. Heu d'especificar un valor booleà.\n"
+msgid ""
+"You may not specify more than one source. You have to specify a boolean "
+"value.\n"
+msgstr ""
+"No haríeu d'especificar més d'una font. Heu d'especificar un valor booleà.\n"
 
 #: ../src/utils/pactl.c:997
 #, c-format
@@ -2053,14 +2219,18 @@ msgid ""
 "\n"
 " -d    Show current PulseAudio data attached to X11 display (default)\n"
 " -e    Export local PulseAudio data to X11 display\n"
-" -i    Import PulseAudio data from X11 display to local environment variables and cookie file.\n"
+" -i    Import PulseAudio data from X11 display to local environment "
+"variables and cookie file.\n"
 " -r    Remove PulseAudio data from X11 display\n"
 msgstr ""
-"%s [-D pantalla] [-S servidor] [-O conducte] [-I font] [-c fitxer]  [-d|-e|-i|-r]\n"
+"%s [-D pantalla] [-S servidor] [-O conducte] [-I font] [-c fitxer]  [-d|-e|-"
+"i|-r]\n"
 "\n"
-" -d    Mostra les dades actuals de PulseAudio vinculat a una pantalla X11 (per omissió)\n"
+" -d    Mostra les dades actuals de PulseAudio vinculat a una pantalla X11 "
+"(per omissió)\n"
 " -e    Exporta les dades locals de PulseAudio a una pantalla X11\n"
-" -i    Importa les dades de PulseAudio d'una pantalla X11 a les variables d'entorn locals i a un fitxer cookie\n"
+" -i    Importa les dades de PulseAudio d'una pantalla X11 a les variables "
+"d'entorn locals i a un fitxer cookie\n"
 " -r    Esborra les dades de PulseAudio d'una pantalla X11\n"
 
 #: ../src/utils/pax11publish.c:94
@@ -2146,14 +2316,12 @@ msgstr "El dimoni no respon."
 msgid "select(): %s"
 msgstr "select(): %s"
 
-#: ../src/utils/pacmd.c:154
-#: ../src/utils/pacmd.c:171
+#: ../src/utils/pacmd.c:154 ../src/utils/pacmd.c:171
 #, c-format
 msgid "read(): %s"
 msgstr "read(): %s"
 
-#: ../src/utils/pacmd.c:187
-#: ../src/utils/pacmd.c:201
+#: ../src/utils/pacmd.c:187 ../src/utils/pacmd.c:201
 #, c-format
 msgid "write(): %s"
 msgstr "write(): %s"
@@ -2183,11 +2351,15 @@ msgid ""
 "\n"
 "  -v, --verbose                         Enable verbose operation\n"
 "\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
 "  -d, --device=DEVICE                   The name of the sink to connect to\n"
-"  -n, --client-name=NAME                How to call this client on the server\n"
-"      --stream-name=NAME                How to call this stream on the server\n"
-"      --volume=VOLUME                   Specify the initial (linear) volume in range 0...65536\n"
+"  -n, --client-name=NAME                How to call this client on the "
+"server\n"
+"      --stream-name=NAME                How to call this stream on the "
+"server\n"
+"      --volume=VOLUME                   Specify the initial (linear) volume "
+"in range 0...65536\n"
 "      --channel-map=CHANNELMAP          Set the channel map to the use\n"
 msgstr ""
 "%s [opcions] [FITXER]\n"
@@ -2197,27 +2369,41 @@ msgstr ""
 "\n"
 "  -v, --verbose                         Habilita les operacions detallades\n"
 "\n"
-"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-se\n"
-"  -d, --device=DISPOSITIU               Nom del conducte/font al qual connectar-se\n"
-"  -n, --client-name=NOM                 Com cridar aquest client al servidor\n"
+"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-"
+"se\n"
+"  -d, --device=DISPOSITIU               Nom del conducte/font al qual "
+"connectar-se\n"
+"  -n, --client-name=NOM                 Com cridar aquest client al "
+"servidor\n"
 "      --stream-name=NOM                 Com cridar aquest flux al servidor\n"
-"      --volume=VOLUM                    Especifica el volum inicial lineal dins el rang 0...65536\n"
-"      --rate=VELOCITATMOSTREIG          La velocitat de mostreig en Hz (per omissió, 44100)\n"
-"      --format=FORMATMOSTRA             El tipus de mostra, una de s16le, s16be, u8, float32le,\n"
-"                                        float32be, ulaw, alaw, s32le, s32be (per omissió, s16ne)\n"
-"      --channels=CANALS                 Número de canals, 1 per a mono, 2 per a estèreo\n"
+"      --volume=VOLUM                    Especifica el volum inicial lineal "
+"dins el rang 0...65536\n"
+"      --rate=VELOCITATMOSTREIG          La velocitat de mostreig en Hz (per "
+"omissió, 44100)\n"
+"      --format=FORMATMOSTRA             El tipus de mostra, una de s16le, "
+"s16be, u8, float32le,\n"
+"                                        float32be, ulaw, alaw, s32le, s32be "
+"(per omissió, s16ne)\n"
+"      --channels=CANALS                 Número de canals, 1 per a mono, 2 "
+"per a estèreo\n"
 "                                        (per omissió, 2)\n"
 "      --channel-map=MAPACANAL           Mapa de canals a utilitzar\n"
-"      --fix-format                      Pren el format de mostra del conducte al qual s'està connectant\n"
+"      --fix-format                      Pren el format de mostra del "
+"conducte al qual s'està connectant\n"
 "                                        el flux.\n"
-"      --fix-rate                        Pren la velocitat de mostreig del conducte al qual\n"
+"      --fix-rate                        Pren la velocitat de mostreig del "
+"conducte al qual\n"
 "                                        s'està connectant el flux.\n"
-"      --fix-channels                    Pren el número de canals i el mapa de canals del\n"
-"                                        conducte al qual s'està connectant el flux.\n"
+"      --fix-channels                    Pren el número de canals i el mapa "
+"de canals del\n"
+"                                        conducte al qual s'està connectant "
+"el flux.\n"
 "      --no-remix                        No mesclar els canals.\n"
-"      --no-remap                        Mapeja els canals per índex enlloc de per nom .\n"
+"      --no-remap                        Mapeja els canals per índex enlloc "
+"de per nom .\n"
 "      --latency=BYTES                   Especifica la latència en bytes.\n"
-"      --process-time=BYTES              Especifica el temps de procés per petició en bytes.\n"
+"      --process-time=BYTES              Especifica el temps de procés per "
+"petició en bytes.\n"
 
 #: ../src/utils/paplay.c:255
 #, c-format
@@ -2250,8 +2436,7 @@ msgstr "El mapa de canals no coincideix amb el fitxer.\n"
 msgid "Using sample spec '%s'\n"
 msgstr "S'estan utilitzant les especificacions de mostra '%s'\n"
 
-#: ../src/pulsecore/lock-autospawn.c:126
-#: ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr "No s'ha pogut accedir al bloqueig d'autospawn."
 
@@ -2263,6 +2448,7 @@ msgstr "No s'ha pogut accedir al bloqueig d'autospawn."
 #~ "La crida de la SUID de root i la prioritat alta/temps real estàn "
 #~ "especificades en la configuració, però no té els permissos necessaris:\n"
 #~ "No es pertany al grup '"
+
 #~ msgid ""
 #~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n"
 #~ "For enabling real-time scheduling please acquire the appropriate "
@@ -2271,22 +2457,28 @@ msgstr "No s'ha pogut accedir al bloqueig d'autospawn."
 #~ "' i PolicyKit ha denegat els permísos. S'està lliberant SUID. \n"
 #~ "Per habilitar la prioritat en temps real, s'ha de adquirir els permissos "
 #~ "de PolicyKit, o pertanyer a '"
+
 #~ msgid ""
 #~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this "
 #~ "user."
 #~ msgstr ""
 #~ "', o incremetar els límits de recursos RLIMIT_NICE/RLIMIT_RTPRIO per "
 #~ "aquest usuari."
+
 #~ msgid "Default sink name (%s) does not exist in name register."
 #~ msgstr "El nom sink per omissió  (%s) no existeix en el registre de noms."
+
 #~ msgid "Buffer overrun, dropping incoming data\n"
 #~ msgstr ""
 #~ "S'ha sobrepassat la memòria intermitja, s'estan descartant les dades "
 #~ "entrants\n"
+
 #~ msgid "pa_stream_drop() failed: %s\n"
 #~ msgstr "Ha fallat pa_stream_drop(): %s\n"
+
 #~ msgid "muted"
 #~ msgstr "silenciat"
+
 #~ msgid ""
 #~ "*** Autoload Entry #%u ***\n"
 #~ "Name: %s\n"
@@ -2299,8 +2491,9 @@ msgstr "No s'ha pogut accedir al bloqueig d'autospawn."
 #~ "Tipus: %s\n"
 #~ "Mòdul: %s\n"
 #~ "Arguments: %s\n"
+
 #~ msgid "sink"
 #~ msgstr "conducte"
+
 #~ msgid "source"
 #~ msgstr "font"
-
diff --git a/po/cs.po b/po/cs.po
index e65c774..b3b607a 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2008-10-19 22:31+0200\n"
 "Last-Translator: Petr Kovar <pknbe at volny.cz>\n"
 "Language-Team: Czech <translation-team-cs at lists.sourceforge.net>\n"
@@ -61,7 +61,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -70,7 +70,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -79,7 +79,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -88,12 +88,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Vnitřní chyba"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -165,105 +165,105 @@ msgstr "Nezdařilo se získat oprávnění: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit odpověděl s \"%s\""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Získán signál %s."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Ukončování."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Nezdařilo se nalézt uživatele \"%s\"."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Nezdařilo se nalézt skupinu \"%s\"."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Nalezen uživatel \"%s\" (UID %lu) a skupina \"%s\" (GID %lu)."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "GID uživatele \"%s\" a skupiny \"%s\" nesouhlasí."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "Domovský adresář uživatele \"%s\" není \"%s\", bude ignorováno."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Nezdařilo se vytvořit \"%s\": %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Nezdařilo se změnit seznam skupin: %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Nezdařilo se změnit GID: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Nezdařilo se změnit UID: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Oprávnění superuživatele úspěšně zrušena."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "Režim celého systému není na této platformě podporován."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) selhalo: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Nezdařila se analýza příkazového řádku."
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 "Nacházíme se ve skupině \"%s\", což umožňuje plánování o vysoké prioritě."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr "Nacházíme se ve skupině \"%s\", což umožňuje plánování v reálném čase."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "PolicyKit nám udělil oprávnění acquire-high-priority."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "PolicyKit nám neudělil oprávnění acquire-high-priority."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "PolicyKit nám udělil oprávnění acquire-real-time."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "PolicyKit nám neudělil oprávnění acquire-real-time."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -276,46 +276,46 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Plánování o vysoké prioritě v konfiguraci zapnuto, ale nepovoleno pravidly."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "Úspěšně zvýšeno RLIMIT_RTPRIO"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO selhalo: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Vzdávání se CAP_NICE"
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Plánování v reálném čase v konfiguraci zapnuto, ale nepovoleno pravidly."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "Démon neběží"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Démon běží jako PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Zabití démona se nezdařilo: %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -323,143 +323,155 @@ msgstr ""
 "Tento program není určen ke spuštění pod superuživatelem (není-li zadáno --"
 "system)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 #, fuzzy
 msgid "Root privileges required."
 msgstr "Jsou vyžadována oprávnění superuživatele."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start nepodporováno u systémových instancí."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr "Běží v systémovém režimu, ale nenastaveno --disallow-exit!"
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr "Běží v systémovém režimu, ale nenastaveno --disallow-module-loading!"
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr "Běží v systémovém režimu, vynuceně se vypíná režim SHM!"
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr "Běží v systémovém režimu, vynuceně se vypíná čas nečinnosti ukončení!"
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Nezdařilo se získání stdio."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "pipe selhalo: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork() selhalo: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read() selhalo: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Spuštění démona selhalo."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Spuštění démona bylo úspěšné."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Toto je PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Překladový počítač: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "Překladové CFLAGS: %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Běží na počítači: %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr ""
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "Velikost stránky je %lu bajtů"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Přeloženo s podporou Valgrind: ano"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Přeloženo s podporou Valgrind: ne"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Běží v režimu valgrind: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Optimalizované sestavení: ano"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Optimalizované sestavení: ne"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Nezdařilo se získání ID počítače"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "ID počítače je %s."
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Používán běhový adresář %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Používán stavový adresář %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Běží v systémovém režimu: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() selhalo."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr ""
 "Jsou dostupné výtečné časovače o vysokém rozlišení. Tak s chutí do toho!"
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -467,27 +479,27 @@ msgstr ""
 "Sorry, vole, kernel error! Tip šéfkuchaře na dnešní den zní: Linux se "
 "zapnutými časovači o vysokém rozlišení."
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() selhalo."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Selhalo spuštění démona."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "Spuštění démona bez jakýchkoliv nahraných modulů, běh bude odmítnut."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "Spuštění démona dokončeno."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Vypínání démona spuštěno."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Démon ukončen."
 
@@ -1207,21 +1219,21 @@ msgstr "Selhala analýza dat cookie"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Selhalo otevření konfiguračního souboru \"%s\": %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Žádný soubor cookie nenahrán. Pokus o spojení bez tohoto kroku."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Přijata zpráva pro neznámé rozšíření \"%s\""
@@ -1306,88 +1318,93 @@ msgstr "Proud přesunut na zařízení %s (%u, %ssuspended).%s \n"
 msgid "not "
 msgstr "nikoliv "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Podběhnutí proudu.%s \n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Spojení navázáno.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() selhalo: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() selhalo: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() selhalo: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Spojení selhalo: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Nezdařilo se vyprázdnit proud: %s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Proud přehrávání vyprázdněn.\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Vyprazdňování spojení se serverem.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "Získáno EOF.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() selhalo: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() selhalo: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Získán signál, ukončování.\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Nezdařilo se získat latenci: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Čas: %0.3f sekund; latence: %0.0f μs.  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() selhalo: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, fuzzy, c-format
 msgid ""
 "%s [options]\n"
@@ -1467,7 +1484,7 @@ msgstr ""
 " Požadavek in bajty\n"
 " čas Požadavek čas in bajty n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1478,88 +1495,88 @@ msgstr ""
 "Přeloženo s libpulse %s\n"
 "Propojeno s libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Neplatná mapa kanálů \"%s\"\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Neplatné upřesnění latence \"%s\"\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Neplatné upřesnění času zpracování \"%s\"\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Neplatné upřesnění vzorkování\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "Mapa kanálů se neshoduje s upřesněním vzorkování\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Otevírání proudu %s s upřesněním vzorkování \"%s\".\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "nahrávání"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "přehrávání"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Příliš mnoho argumentů.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() selhalo.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() selhalo.\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() selhalo.\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_connect() selhalo: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() selhalo.\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/de.po b/po/de.po
index a2b146f..860447c 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-02-19 12:04+0100\n"
 "Last-Translator: Fabian Affolter <fab at fedoraproject.org>\n"
 "Language-Team: German <fedora-trans-de at redhat.com>\n"
@@ -68,7 +68,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr "Surround 7.1"
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -77,7 +77,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -86,7 +86,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -95,12 +95,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Interner Fehler"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -170,107 +170,107 @@ msgstr "Keine Authorisierung erhalten: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit antwortete mit '%s'"
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Signal %s empfangen."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Wird beendet."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Benutzer '%s' nicht gefunden."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Gruppe '%s' nicht gefunden."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Benutzer '%s' (UID %lu) und Gruppe '%s' (GID %lu) gefunden."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "GID von Benutzer '%s' und Gruppe '%s' stimmen nicht überein."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "Benutzerverzeichnis von Benutzer '%s' ist nicht '%s', ignoriere."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Konnte '%s' nciht erzeugen: %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Wechseln der Gruppen-Liste fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Wechseln der GID fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Wechseln der UID fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Root-Berechtigungen erfolgreich zurückgesetzt."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "System-Modus auf dieser Plattform nicht unterstützt."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Parsen der Kommandzeile fehlgeschlagen."
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 "Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität "
 "ermöglicht."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 "Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "Richtlinien gewähren das Recht aquire-high-priority."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "Richtlinien verweigern das Recht acquire-high-priority."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "Richtlinien gewähren das Recht aquire-real-time."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "Richtlinien verweigern das Recht acquire-real-time."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, fuzzy, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -286,44 +286,44 @@ msgstr ""
 "Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-"
 "Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '"
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "RLIMIT_RTPRIO erfolgreich erhöht"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Verwerfe CAP_NICE"
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "Daemon läuft nicht"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Daemon läuft als PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Konnte Prozess nicht abbrechen: %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -331,167 +331,179 @@ msgstr ""
 "Dieses Programm sollte ohne die Option --system nicht als Administrator "
 "ausgeführt werden."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "Root-Berechtigungen benötigt."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start nicht unterstützt für System-Instanzen."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!"
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr "System-Modus aktiv, jedoch --disallow-module-loading nicht gesetzt!"
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr "System-Modus aktiv, SHM-Modus gezwungenermaßen deaktiviert!"
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermaßen deaktiviert!"
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Reservieren von STDIO fehlgeschlagen."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "pipe fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork() fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read() fehlgeschlagen: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Start des Daemons fehlgeschlagen."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Start des Daemons erfolgreich."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Dies ist PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Kompilier-Host: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "Kompilier-CFLAGS: %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Laufe auf Host: %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "%u CPUs gefunden."
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "Seitengröße ist %lu Bytes."
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Kompiliere mit Valgrind-Unterstützung: ja"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Kompiliere mit Valgrind-Unterstützung: nein"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Läuft im Valgrind-Modus: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Optimiertes Build: ja"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Optimiertes Build: nein"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Beziehen der Maschinen-ID fehlgeschlagen"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "System- ID ist %s."
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Nutze Laufzeit-Verzeichnis %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Nutze Zustands-Verzeichnis %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Laufe im System-Modus: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() fehlgeschlagen."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!"
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
 msgstr "Der Chefkoch empfiehlt: Linux mit aktivierten hochauslösenden Timern!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() fehlgeschlagen."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Konnte Daemon nicht initialisieren."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "Daemon verweigert Ausführung, da keine Module geladen."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "Start des Daemons abgeschlossen."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Herunterfahren des Daemon gestartet."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Daemon beendet."
 
@@ -1229,21 +1241,21 @@ msgstr "Parsen der Cookie-Daten fehlgeschlagen"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Konfigurationsdatei '%s' konnte nicht geöffnet werden: %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Verbindungsversuch ohne Cookie, da keines geladen."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Nachricht für unbekannte Erweiterung '%s' erhalten"
@@ -1327,88 +1339,93 @@ msgstr "Stream an Gerät %s übergeben (%u, %sausgesetzt).%s \n"
 msgid "not "
 msgstr "nicht "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Stream unterlaufen.%s \n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Verbindung hergestellt.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Verbindungsfehler: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Entleeren des Streams fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Wiedergabe-Stream entleert.\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Draining connection to server.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "EOF empfangen.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Signal empfangen, beende.\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Erhalten der Latenz fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Zeit: %0.3f sec; Latenz: %0.0f usec.  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() fehlgeschlagen: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1500,7 +1517,7 @@ msgstr ""
 "      --process-time=BYTES              Diese Prozesszeit pro Anfrage "
 "verwenden.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1511,88 +1528,88 @@ msgstr ""
 "Kompiliert mit libpulse %s\n"
 "Gelinkt mit libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Ungültige Kanal-Zuweisung '%s'\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Ungültige Latenz-Angaben '%s'\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Ungültige Prozesszeit-Angaben '%s'\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Ungültige Sample-Angaben\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "Kanalzuordnung entspricht nicht Einstellungen des Samples\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "aufnehmen"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "abspielen"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Zu viele Argumente.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() fehlgeschlagen.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() fehlgeschlagen.\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() fehlgeschlagen.\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_new() fehlgeschlagen: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() fehlgeschlagen.\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/el.po b/po/el.po
index a3f66fe..8671bbf 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: el\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2008-08-22 19:40+0300\n"
 "Last-Translator: Dimitris Glezos <dimitris at glezos.com>\n"
 "Language-Team: Greek <fedora-trans-el at redhat.com>\n"
@@ -60,7 +60,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -69,7 +69,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -78,7 +78,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -87,11 +87,11 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 msgid "Internal Audio"
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -161,104 +161,104 @@ msgstr ""
 msgid "PolicyKit responded with '%s'"
 msgstr ""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr ""
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Έξοδος."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Αποτυχία εύρεσης χρήστη '%s'."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Αποτυχία εύρεσης ομάδας χρηστών '%s'."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr ""
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr ""
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr ""
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr ""
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr ""
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr ""
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr ""
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -271,184 +271,196 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr ""
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr ""
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr ""
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr ""
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
 msgstr ""
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr ""
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr ""
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr ""
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr ""
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr ""
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr ""
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Αυτό είναι το PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr ""
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr ""
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr ""
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr ""
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr ""
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr ""
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr ""
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr ""
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr ""
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr ""
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr ""
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr ""
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -456,27 +468,27 @@ msgstr ""
 "Δικέ μου, ο πυρήνας σου είναι για τα μπάζα! Η πρόταση του σεφ σήμερα είναι "
 "Linux με ενεργοποιημένα τα high-resolution timers!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr ""
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr ""
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr ""
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr ""
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr ""
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr ""
 
@@ -1139,21 +1151,21 @@ msgstr ""
 msgid "Failed to open configuration file '%s': %s"
 msgstr ""
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr ""
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr ""
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr ""
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr ""
@@ -1237,88 +1249,93 @@ msgstr ""
 msgid "not "
 msgstr ""
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr ""
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr ""
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr ""
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1371,7 +1388,7 @@ msgid ""
 "per request in bytes.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1379,88 +1396,88 @@ msgid ""
 "Linked with libpulse %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr ""
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr ""
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/es.po b/po/es.po
index 47a2158..e55f1c6 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PulseAudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-30 19:28+0000\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-03-31 09:32-0300\n"
 "Last-Translator: Domingo Becker <domingobecker at gmail.com>\n"
 "Language-Team: Fedora Spanish <fedora-trans-es at redhat.com>\n"
@@ -61,38 +61,50 @@ msgstr "Digital Envolvente 5.1 (IEC958/AC3)"
 msgid "Analog Surround 7.1"
 msgstr "Análogo Envolvénte 7.1"
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
-"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
+"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
+"ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers."
 msgstr ""
-"snd_pcm_avail() devolvió un valor que es excepcionalmente grande: %lu bytes (%lu ms).\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."
+"snd_pcm_avail() devolvió un valor que es excepcionalmente grande: %lu bytes "
+"(%lu ms).\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
+"informe ésto a los desarrolladores de ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
-"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
+"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
+"lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers."
 msgstr ""
-"snd_pcm_delay() devolvió un valor que es excepcionalmente grande: %li bytes (%s%lu ms).\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."
+"snd_pcm_delay() devolvió un valor que es excepcionalmente grande: %li bytes "
+"(%s%lu ms).\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
+"informe ésto a los desarrolladores de ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
-"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
+"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
+"(%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers."
 msgstr ""
-"snd_pcm_mmap_begin() devolvió un valor que es excepcionalmente grande: %lu bytes (%lu ms).\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."
+"snd_pcm_mmap_begin() devolvió un valor que es excepcionalmente grande: %lu "
+"bytes (%lu ms).\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
+"informe ésto a los desarrolladores de ALSA."
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 msgid "Internal Audio"
 msgstr "Audio Interno"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr "Módem"
 
@@ -162,313 +174,358 @@ msgstr "No se pudo obtener auth: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit respondió con '%s'"
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Se obtuvo la señal %s."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Saliendo."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Falló al buscar usuario '%s'."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Falló al buscar grupo '%s'."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Se encontró el usuario '%s' (UID %lu) y el grupo '%s' (GID %lu)."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "GID del usuario '%s' y del grupo '%s' no son similares."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "El directorio de inicio del usuario '%s' no es '%s', ignorando."
 
-#: ../src/daemon/main.c:201
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Falló al crear '%s': %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Falló al cambiar la lista de grupo: %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Falló al cambiar GID: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Falló al cambiar UID: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Se han liberado con éxitos los privilegios de root."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "El modo a nivel de sistema no es soportado en esta plataforma."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) falló: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Falló al analizar la línea de comando."
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr "Estamos en el grupo '%s', permitiendo planificación de prioridad alta."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr "Estamos en el grupo '%s', permitiendo planificación en tiempo real."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the appropriate PolicyKit privileges, or become a member of '%s', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+"Called SUID root and real-time and/or high-priority scheduling was requested "
+"in the configuration. However, we lack the necessary privileges:\n"
+"We are not in group '%s', PolicyKit refuse to grant us the requested "
+"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+"limits.\n"
+"For enabling real-time/high-priority scheduling please acquire the "
+"appropriate PolicyKit privileges, or become a member of '%s', or increase "
+"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
-"Se llamó con SUID root y se pidió planificación en tiempo real y/o de alta prioridad en la configuración. Sin embargo, no se tiene los privilegios necesarios:\n"
-"No se está en el grupo '%s'. PolicyKit rechaza darnos el permiso necesario y no se puede aumentar los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Para habilitar la planifiación de tiempo real/alta prioridad por favor adquiera los privilegios apropiados en PolicyKit, o hágase miembro de '%s', o aumente los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para este usuario."
-
-#: ../src/daemon/main.c:538
-msgid "High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "Está habilitadada la planificación de prioridad alta, pero no están permitidas por la política."
+"Se llamó con SUID root y se pidió planificación en tiempo real y/o de alta "
+"prioridad en la configuración. Sin embargo, no se tiene los privilegios "
+"necesarios:\n"
+"No se está en el grupo '%s'. PolicyKit rechaza darnos el permiso necesario y "
+"no se puede aumentar los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO.\n"
+"Para habilitar la planifiación de tiempo real/alta prioridad por favor "
+"adquiera los privilegios apropiados en PolicyKit, o hágase miembro de '%s', "
+"o aumente los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para este "
+"usuario."
+
+#: ../src/daemon/main.c:566
+msgid ""
+"High-priority scheduling enabled in configuration but not allowed by policy."
+msgstr ""
+"Está habilitadada la planificación de prioridad alta, pero no están "
+"permitidas por la política."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "RLIMIT_RTPRIO incrementado en forma exitosa"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "Fallo en RLIMIT_RTPRIO: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Abandonando CAP_NICE"
 
-#: ../src/daemon/main.c:584
-msgid "Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "Está habilitada la planificación en tiempo real, pero no está permitido por la política."
+#: ../src/daemon/main.c:612
+msgid ""
+"Real-time scheduling enabled in configuration but not allowed by policy."
+msgstr ""
+"Está habilitada la planificación en tiempo real, pero no está permitido por "
+"la política."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "El demonio no está funcionando"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "El demonio está funcionando como PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "No se ha podido detener el demonio: %s"
 
-#: ../src/daemon/main.c:675
-msgid "This program is not intended to be run as root (unless --system is specified)."
-msgstr "Este programa no tiene por qué ser ejecutado como root (a menos que --system sea especificado)."
+#: ../src/daemon/main.c:703
+msgid ""
+"This program is not intended to be run as root (unless --system is "
+"specified)."
+msgstr ""
+"Este programa no tiene por qué ser ejecutado como root (a menos que --system "
+"sea especificado)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "Se necesitan privilegios de root."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start no está soportado para las instancias del sistema."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
-msgstr "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! "
+msgstr ""
+"Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! "
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
-msgstr "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-module-loading!"
+msgstr ""
+"Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-"
+"module-loading!"
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
-msgstr "Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!"
+msgstr ""
+"Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!"
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
-msgstr "Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!"
+msgstr ""
+"Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!"
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Fallo al intentar adquirir stdio."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "Falló el pipe: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "Falló el fork(): %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "Falló la operación read(): %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Falló el inicio del demonio. "
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "El demonio se inició exitosamente."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Esto es PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Host de compilación: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "Compilación CFLAGS: %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Ejecutándose en el host: %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "Se encontraron %u CPUs."
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "El tamaño de la página es de %lu bytes"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Soporte para compilar con Valgrind: si"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Soporte para compilar con Valgrind: no"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Ejecutándose en modo valgrind: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Build optimizado: si"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Build optimizado: no"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Fallo al intentar obtener el ID de la máquina"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "El ID de la máquina es %s"
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Utilizando directorio de tiempo de ejecución %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Utilizando directorio de estado %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Ejecutándose en modo de sistema: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "Ha fallado pa_pid_file_create()."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
-msgstr "¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon appetit!"
+msgstr ""
+"¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon "
+"appetit!"
 
-#: ../src/daemon/main.c:900
-msgid "Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!"
-msgstr "¡Amigo, su kernel deja mucho que desear! ¡El plato que hoy recomienda el chef es Linux con cronómetros de alta resolución activados!  "
+#: ../src/daemon/main.c:936
+msgid ""
+"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
+"resolution timers enabled!"
+msgstr ""
+"¡Amigo, su kernel deja mucho que desear! ¡El plato que hoy recomienda el "
+"chef es Linux con cronómetros de alta resolución activados!  "
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "Falló pa_core_new()."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Fallo al intentar iniciar el demonio."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
-msgstr "El demonio se ha iniciado sin ningún módulo cargado, y por ello se niega a funcionar."
+msgstr ""
+"El demonio se ha iniciado sin ningún módulo cargado, y por ello se niega a "
+"funcionar."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "El demonio se inició completamente."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Comienza a apagarse el demonio."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "El demonio se ha apagado."
 
@@ -483,37 +540,48 @@ msgid ""
 "      --dump-conf                       Dump default configuration\n"
 "      --dump-modules                    Dump list of available modules\n"
 "      --dump-resample-methods           Dump available resample methods\n"
-"      --cleanup-shm                     Cleanup stale shared memory segments\n"
-"      --start                           Start the daemon if it is not running\n"
+"      --cleanup-shm                     Cleanup stale shared memory "
+"segments\n"
+"      --start                           Start the daemon if it is not "
+"running\n"
 "  -k  --kill                            Kill a running daemon\n"
-"      --check                           Check for a running daemon (only returns exit code)\n"
+"      --check                           Check for a running daemon (only "
+"returns exit code)\n"
 "\n"
 "OPTIONS:\n"
 "      --system[=BOOL]                   Run as system-wide instance\n"
 "  -D, --daemonize[=BOOL]                Daemonize after startup\n"
 "      --fail[=BOOL]                     Quit when startup fails\n"
 "      --high-priority[=BOOL]            Try to set high nice level\n"
-"                                        (only available as root, when SUID or\n"
+"                                        (only available as root, when SUID "
+"or\n"
 "                                        with elevated RLIMIT_NICE)\n"
 "      --realtime[=BOOL]                 Try to enable realtime scheduling\n"
-"                                        (only available as root, when SUID or\n"
+"                                        (only available as root, when SUID "
+"or\n"
 "                                        with elevated RLIMIT_RTPRIO)\n"
-"      --disallow-module-loading[=BOOL]  Disallow module user requested module\n"
+"      --disallow-module-loading[=BOOL]  Disallow module user requested "
+"module\n"
 "                                        loading/unloading after startup\n"
 "      --disallow-exit[=BOOL]            Disallow user requested exit\n"
-"      --exit-idle-time=SECS             Terminate the daemon when idle and this\n"
+"      --exit-idle-time=SECS             Terminate the daemon when idle and "
+"this\n"
 "                                        time passed\n"
-"      --module-idle-time=SECS           Unload autoloaded modules when idle and\n"
+"      --module-idle-time=SECS           Unload autoloaded modules when idle "
+"and\n"
 "                                        this time passed\n"
-"      --scache-idle-time=SECS           Unload autoloaded samples when idle and\n"
+"      --scache-idle-time=SECS           Unload autoloaded samples when idle "
+"and\n"
 "                                        this time passed\n"
 "      --log-level[=LEVEL]               Increase or set verbosity level\n"
 "  -v                                    Increase the verbosity level\n"
 "      --log-target={auto,syslog,stderr} Specify the log target\n"
-"      --log-meta[=BOOL]                 Include code location in log messages\n"
+"      --log-meta[=BOOL]                 Include code location in log "
+"messages\n"
 "      --log-time[=BOOL]                 Include timestamps in log messages\n"
 "      --log-backtrace=FRAMES            Include a backtrace in log messages\n"
-"  -p, --dl-search-path=PATH             Set the search path for dynamic shared\n"
+"  -p, --dl-search-path=PATH             Set the search path for dynamic "
+"shared\n"
 "                                        objects (plugins)\n"
 "      --resample-method=METHOD          Use the specified resampling method\n"
 "                                        (See --dump-resample-methods for\n"
@@ -524,10 +592,12 @@ msgid ""
 "      --disable-shm[=BOOL]              Disable shared memory support.\n"
 "\n"
 "STARTUP SCRIPT:\n"
-"  -L, --load=\"MODULE ARGUMENTS\"         Load the specified plugin module with\n"
+"  -L, --load=\"MODULE ARGUMENTS\"         Load the specified plugin module "
+"with\n"
 "                                        the specified argument\n"
 "  -F, --file=FILENAME                   Run the specified script\n"
-"  -C                                    Open a command line on the running TTY\n"
+"  -C                                    Open a command line on the running "
+"TTY\n"
 "                                        after startup\n"
 "\n"
 "  -n                                    Don't load default script file\n"
@@ -538,50 +608,78 @@ msgstr ""
 "  -h, --help                            Muestra esta ayuda\n"
 "      --version                         Muestra la versión\n"
 "      --dump-conf                       Vuelca la configuración por defecto\n"
-"      --dump-modules                    Vuelca una lista de múdulos disponibles\n"
-"      --dump-resample-methods           Vuelca los métodos disponibles de remuestreo\n"
-"      --cleanup-shm                     Limpia los segmentos de memoria compartidos\n"
-"      --start                           Inicia el demonio, si es que aún no está funcionando\n"
+"      --dump-modules                    Vuelca una lista de múdulos "
+"disponibles\n"
+"      --dump-resample-methods           Vuelca los métodos disponibles de "
+"remuestreo\n"
+"      --cleanup-shm                     Limpia los segmentos de memoria "
+"compartidos\n"
+"      --start                           Inicia el demonio, si es que aún no "
+"está funcionando\n"
 "  -k  --kill                            Detiene a un demonio funcionando\n"
-"      --check                           Verifica qué demonios están funcionando\n"
+"      --check                           Verifica qué demonios están "
+"funcionando\n"
 "\n"
 "OPCIONES:\n"
-"      --system[=BOOL]                   Se ejecuta como unica instancia a nivel del sistema\n"
-"  -D, --daemonize[=BOOL]                Se convierte en demonio luego de iniciarse\n"
+"      --system[=BOOL]                   Se ejecuta como unica instancia a "
+"nivel del sistema\n"
+"  -D, --daemonize[=BOOL]                Se convierte en demonio luego de "
+"iniciarse\n"
 "      --fail[=BOOL]                     Se cierra cuando falla el inicio\n"
-"      --high-priority[=BOOL]            Trata de establecer un nivel de nice alto\n"
-"                                        (sólo disponible como root, cuando el SUID o\n"
+"      --high-priority[=BOOL]            Trata de establecer un nivel de nice "
+"alto\n"
+"                                        (sólo disponible como root, cuando "
+"el SUID o\n"
 "                                        con RLIMIT_NICE) elevado\n"
-"      --realtime[=BOOL]                 Trata de activar planificación en tiempo real\n"
-"                                        (sólo disponible como root, cuando el SUID o\n"
+"      --realtime[=BOOL]                 Trata de activar planificación en "
+"tiempo real\n"
+"                                        (sólo disponible como root, cuando "
+"el SUID o\n"
 "                                        con RLIMIT_RTPRIO) elevado\n"
-"      --disallow-module-loading[=BOOL]  No permite la carga/descarga del módulo por el usuario\n"
+"      --disallow-module-loading[=BOOL]  No permite la carga/descarga del "
+"módulo por el usuario\n"
 "                                        después que se haya iniciado\n"
-"      --disallow-exit[=BOOL]            No permite la petición del usuario de abandonar el programa\n"
-"      --exit-idle-time=SECS             Desactiva un demonio cuando está ocioso y\n"
-"                                        ha transcurrido esta cantidad de tiempo\n"
-"      --module-idle-time=SECS           Descarga modulos que se han cargado automáticamente cuando están ociosos y\n"
-"                                        ha transcurrido esta cantidad de tiempo\n"
-"      --scache-idle-time=SECS           Descarga muestras cargadas automáticamente cuando están\n"
-"                                        ociosos y ha transcurrido esta cantidad de tiempo\n"
-"      --log-level[=LEVEL]               Aumenta o define el grado de salida a utilizar\n"
+"      --disallow-exit[=BOOL]            No permite la petición del usuario "
+"de abandonar el programa\n"
+"      --exit-idle-time=SECS             Desactiva un demonio cuando está "
+"ocioso y\n"
+"                                        ha transcurrido esta cantidad de "
+"tiempo\n"
+"      --module-idle-time=SECS           Descarga modulos que se han cargado "
+"automáticamente cuando están ociosos y\n"
+"                                        ha transcurrido esta cantidad de "
+"tiempo\n"
+"      --scache-idle-time=SECS           Descarga muestras cargadas "
+"automáticamente cuando están\n"
+"                                        ociosos y ha transcurrido esta "
+"cantidad de tiempo\n"
+"      --log-level[=LEVEL]               Aumenta o define el grado de salida "
+"a utilizar\n"
 "  -v                                    Aumenta el grado de salida\n"
 "      --log-target={auto,syslog,stderr} Especifica el destino del log\n"
-"  -p, --dl-search-path=PATH             Establece la ruta de búsqueda (search path) para complementos\n"
+"  -p, --dl-search-path=PATH             Establece la ruta de búsqueda "
+"(search path) para complementos\n"
 "                                        (plugins) compartidos\n"
-"      --resample-method=METHOD          Utiliza un método de remuestreo específico\n"
-"                                        (Ver en --dump-resample-methods los valores posibles)\n"
+"      --resample-method=METHOD          Utiliza un método de remuestreo "
+"específico\n"
+"                                        (Ver en --dump-resample-methods los "
+"valores posibles)\n"
 "      --use-pid-file[=BOOL]             Crea el archivo PID\n"
-"      --no-cpu-limit[=BOOL]             No instala un limitador de carga de CPU en\n"
+"      --no-cpu-limit[=BOOL]             No instala un limitador de carga de "
+"CPU en\n"
 "                                        plataformas que lo soporten.\n"
-"      --disable-shm[=BOOL]              Deshabilita el soporte para memoria compartida.\n"
+"      --disable-shm[=BOOL]              Deshabilita el soporte para memoria "
+"compartida.\n"
 "\n"
 "SCRIPT DE INICIO:\n"
-"  -L, --load=\"ARGUMENTOS DEL MODULO\"  Carga el módulo complemento con los parámetros dados\n"
+"  -L, --load=\"ARGUMENTOS DEL MODULO\"  Carga el módulo complemento con los "
+"parámetros dados\n"
 "  -F, --file=FILENAME                   Ejecuta el script especificado\n"
-"  -C                                    Abre una línea de comando en el TTY actual después de iniciar\n"
+"  -C                                    Abre una línea de comando en el TTY "
+"actual después de iniciar\n"
 "\n"
-"  -n                                    No carga el archivo script predeterminado\n"
+"  -n                                    No carga el archivo script "
+"predeterminado\n"
 
 #: ../src/daemon/cmdline.c:252
 msgid "--daemonize expects boolean argument"
@@ -592,8 +690,13 @@ msgid "--fail expects boolean argument"
 msgstr "--fail espera un argumento booleano"
 
 #: ../src/daemon/cmdline.c:269
-msgid "--log-level expects log level argument (either numeric in range 0..4 or one of debug, info, notice, warn, error)."
-msgstr "--log-level espera un argumento en el nivel del log (ya sea numérico, que caiga en el rango de 0..4; ya sea uno de debug, info, notice, warn, o error). "
+msgid ""
+"--log-level expects log level argument (either numeric in range 0..4 or one "
+"of debug, info, notice, warn, error)."
+msgstr ""
+"--log-level espera un argumento en el nivel del log (ya sea numérico, que "
+"caiga en el rango de 0..4; ya sea uno de debug, info, notice, warn, o "
+"error). "
 
 #: ../src/daemon/cmdline.c:281
 msgid "--high-priority expects boolean argument"
@@ -750,8 +853,12 @@ msgid "Failed to open configuration file: %s"
 msgstr "No se pudo abrir el archivo de configuración: %s"
 
 #: ../src/daemon/daemon-conf.c:538
-msgid "The specified default channel map has a different number of channels than the specified default number of channels."
-msgstr "El mapa de canal predeterminado especificado tiene un número de canales distinto al especificado como predeterminado."
+msgid ""
+"The specified default channel map has a different number of channels than "
+"the specified default number of channels."
+msgstr ""
+"El mapa de canal predeterminado especificado tiene un número de canales "
+"distinto al especificado como predeterminado."
 
 #: ../src/daemon/daemon-conf.c:616
 #, c-format
@@ -775,23 +882,30 @@ msgid "Start the PulseAudio Sound System"
 msgstr "Iniciar el Sistema de Sonido PulseAudio"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid "High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "Planificación de alta prioridad (nivel Unix negativo) para el demonio PulseAudio"
+msgid ""
+"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
+msgstr ""
+"Planificación de alta prioridad (nivel Unix negativo) para el demonio "
+"PulseAudio"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:2
 msgid "Real-time scheduling for the PulseAudio daemon"
 msgstr "Planificación de tiempo real para el demonio de PulseAudio."
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid "System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "Las políticas del sistema impidieron a PulseAudio adquirir la planificación de alta prioridad."
+msgid ""
+"System policy prevents PulseAudio from acquiring high-priority scheduling."
+msgstr ""
+"Las políticas del sistema impidieron a PulseAudio adquirir la planificación "
+"de alta prioridad."
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:4
 msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "Las políticas del sistema impidieron a PulseAudio adquirir la planificación de tiempo real."
+msgstr ""
+"Las políticas del sistema impidieron a PulseAudio adquirir la planificación "
+"de tiempo real."
 
-#: ../src/pulse/channelmap.c:103
-#: ../src/pulse/channelmap.c:804
+#: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804
 msgid "Mono"
 msgstr "Mono"
 
@@ -995,12 +1109,9 @@ msgstr "Posterior izquierdo superior"
 msgid "Top Rear Right"
 msgstr "Posterior derecho superior"
 
-#: ../src/pulse/channelmap.c:476
-#: ../src/pulse/sample.c:167
-#: ../src/pulse/volume.c:170
-#: ../src/pulse/volume.c:196
-#: ../src/pulse/volume.c:216
-#: ../src/pulse/volume.c:246
+#: ../src/pulse/channelmap.c:476 ../src/pulse/sample.c:167
+#: ../src/pulse/volume.c:170 ../src/pulse/volume.c:196
+#: ../src/pulse/volume.c:216 ../src/pulse/volume.c:246
 msgid "(invalid)"
 msgstr "(inválido)"
 
@@ -1153,8 +1264,7 @@ msgstr "%0.1f KiB"
 msgid "%u B"
 msgstr "%u B"
 
-#: ../src/pulse/client-conf-x11.c:55
-#: ../src/utils/pax11publish.c:100
+#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100
 msgid "XOpenDisplay() failed"
 msgstr "XOpenDisplay() falló"
 
@@ -1167,21 +1277,21 @@ msgstr "Fallo al analizar los datos de la cookie"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Fallo al abrir el archivo de configuración '%s': %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "No se ha cargado ninguna cookie. Intentando conectar de todos modos."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(:) %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Se ha recibido un mensaje para una extensión desconocida '%s'"
@@ -1265,93 +1375,93 @@ msgstr "Fujo trasladado al dispositivo %s (%u, %ssuspended). %s\n"
 msgid "not "
 msgstr "no"
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Flujo agotado. %s \n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Conexión establecida. %s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() falló; %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() falló: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() falló: %s\n"
 
-#: ../src/utils/pacat.c:321
-#: ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:762
-#: ../src/utils/paplay.c:183
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
+#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Error en la conexión: %s\n"
 
-#: ../src/utils/pacat.c:341
-#: ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Error al drenar el flujo: %s\n"
 
-#: ../src/utils/pacat.c:346
-#: ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "El flujo de platback se ha drenado.\n"
 
-#: ../src/utils/pacat.c:356
-#: ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Drenando conexión con el servidor.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "Hay EOF.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() falló: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() falló: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Hay señal, saliendo (exiting).\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "No se pudo obtener latencia: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Tiempo: %0.3f sec; Latencia: %0.0f usec. \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() falló: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1364,27 +1474,44 @@ msgid ""
 "\n"
 "  -v, --verbose                         Enable verbose operations\n"
 "\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
-"  -d, --device=DEVICE                   The name of the sink/source to connect to\n"
-"  -n, --client-name=NAME                How to call this client on the server\n"
-"      --stream-name=NAME                How to call this stream on the server\n"
-"      --volume=VOLUME                   Specify the initial (linear) volume in range 0...65536\n"
-"      --rate=SAMPLERATE                 The sample rate in Hz (defaults to 44100)\n"
-"      --format=SAMPLEFORMAT             The sample type, one of s16le, s16be, u8, float32le,\n"
-"                                        float32be, ulaw, alaw, s32le, s32be (defaults to s16ne)\n"
-"      --channels=CHANNELS               The number of channels, 1 for mono, 2 for stereo\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
+"  -d, --device=DEVICE                   The name of the sink/source to "
+"connect to\n"
+"  -n, --client-name=NAME                How to call this client on the "
+"server\n"
+"      --stream-name=NAME                How to call this stream on the "
+"server\n"
+"      --volume=VOLUME                   Specify the initial (linear) volume "
+"in range 0...65536\n"
+"      --rate=SAMPLERATE                 The sample rate in Hz (defaults to "
+"44100)\n"
+"      --format=SAMPLEFORMAT             The sample type, one of s16le, "
+"s16be, u8, float32le,\n"
+"                                        float32be, ulaw, alaw, s32le, s32be "
+"(defaults to s16ne)\n"
+"      --channels=CHANNELS               The number of channels, 1 for mono, "
+"2 for stereo\n"
 "                                        (defaults to 2)\n"
-"      --channel-map=CHANNELMAP          Channel map to use instead of the default\n"
-"      --fix-format                      Take the sample format from the sink the stream is\n"
+"      --channel-map=CHANNELMAP          Channel map to use instead of the "
+"default\n"
+"      --fix-format                      Take the sample format from the sink "
+"the stream is\n"
 "                                        being connected to.\n"
-"      --fix-rate                        Take the sampling rate from the sink the stream is\n"
+"      --fix-rate                        Take the sampling rate from the sink "
+"the stream is\n"
 "                                        being connected to.\n"
-"      --fix-channels                    Take the number of channels and the channel map\n"
-"                                        from the sink the stream is being connected to.\n"
+"      --fix-channels                    Take the number of channels and the "
+"channel map\n"
+"                                        from the sink the stream is being "
+"connected to.\n"
 "      --no-remix                        Don't upmix or downmix channels.\n"
-"      --no-remap                        Map channels by index instead of name.\n"
-"      --latency=BYTES                   Request the specified latency in bytes.\n"
-"      --process-time=BYTES              Request the specified process time per request in bytes.\n"
+"      --no-remap                        Map channels by index instead of "
+"name.\n"
+"      --latency=BYTES                   Request the specified latency in "
+"bytes.\n"
+"      --process-time=BYTES              Request the specified process time "
+"per request in bytes.\n"
 msgstr ""
 "%s [opciones]\n"
 "\n"
@@ -1394,31 +1521,49 @@ msgstr ""
 "  -r, --record                          Crea una conexión para grabar\n"
 "  -p, --playback                        Create a connection for playback\n"
 "\n"
-"  -v, --verbose                         Habilita operaciones con vocabulario más detallado\n"
+"  -v, --verbose                         Habilita operaciones con vocabulario "
+"más detallado\n"
 "\n"
-"  -s, --server=SERVER                   El nombre del servidor con el que conectarse\n"
-"  -d, --device=DEVICE                   El nombre del destino/fuente a la que conectarse\n"
-"  -n, --client-name=NAME                Cómo llamar a este cliente en el servidor\n"
-"      --stream-name=NAME                Cómo llamar a este flujo en el servidor\n"
-"      --volume=VOLUME                   Especificar el salida inicial (linear) de volumen dentro del rango 0...65536\n"
-"      --rate=SAMPLERATE                 Tasa de muestra en Hz (establecida en 44100 por defecto)\n"
-"      --format=SAMPLEFORMAT             El tipo de ejemplo, alguno entre s16le, s16be, u8, float32le,\n"
-"                                        float32be, ulaw, alaw, s32le, s32be (establecido en s16ne por defecto)\n"
-"      --channels=CHANNELS               La cantidad de canales, 1 para mono, 2 para stereo\n"
+"  -s, --server=SERVER                   El nombre del servidor con el que "
+"conectarse\n"
+"  -d, --device=DEVICE                   El nombre del destino/fuente a la "
+"que conectarse\n"
+"  -n, --client-name=NAME                Cómo llamar a este cliente en el "
+"servidor\n"
+"      --stream-name=NAME                Cómo llamar a este flujo en el "
+"servidor\n"
+"      --volume=VOLUME                   Especificar el salida inicial "
+"(linear) de volumen dentro del rango 0...65536\n"
+"      --rate=SAMPLERATE                 Tasa de muestra en Hz (establecida "
+"en 44100 por defecto)\n"
+"      --format=SAMPLEFORMAT             El tipo de ejemplo, alguno entre "
+"s16le, s16be, u8, float32le,\n"
+"                                        float32be, ulaw, alaw, s32le, s32be "
+"(establecido en s16ne por defecto)\n"
+"      --channels=CHANNELS               La cantidad de canales, 1 para mono, "
+"2 para stereo\n"
 "                                        (establecido en 2 por defecto)\n"
-"      --channel-map=CHANNELMAP          Mapa de canales a ser usado en lugar del establecido por defecto\n"
-"      --fix-format                      Obtener el formato de sample desde el destino al que el flujo\n"
+"      --channel-map=CHANNELMAP          Mapa de canales a ser usado en lugar "
+"del establecido por defecto\n"
+"      --fix-format                      Obtener el formato de sample desde "
+"el destino al que el flujo\n"
 "                                        se ha conectado.\n"
-"      --fix-rate                        Obtener la tasa de sampling desde el destino al que el flujo\n"
+"      --fix-rate                        Obtener la tasa de sampling desde el "
+"destino al que el flujo\n"
 "                                        se ha conectado.\n"
-"      --fix-channels                    Obtener el mapa y la cantidad de canales\n"
-"                                        desde el destino al que el flojo se ha conectado.\n"
+"      --fix-channels                    Obtener el mapa y la cantidad de "
+"canales\n"
+"                                        desde el destino al que el flojo se "
+"ha conectado.\n"
 "      --no-remix                        No upmix o downmix canales.\n"
-"      --no-remap                        Mapear canales por índices en lugar de por nombres.\n"
-"      --latency=BYTES                   Solicitar la latencia especificada en bytes.\n"
-"      --process-time=BYTES              Solicitar los procesos de tiempo por pedido especificados en bytes.\n"
+"      --no-remap                        Mapear canales por índices en lugar "
+"de por nombres.\n"
+"      --latency=BYTES                   Solicitar la latencia especificada "
+"en bytes.\n"
+"      --process-time=BYTES              Solicitar los procesos de tiempo por "
+"pedido especificados en bytes.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1429,96 +1574,89 @@ msgstr ""
 "Compilado con libpulse %s\n"
 "Linkeado con libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Mapa de canales inválido '%s'\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Especificación de latencia inválida '%s'\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Especificación de tiempo de proceso inválida '%s'\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Especificación de muestra inválida\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "El mapa del canal no se corresponde con la especificación de muestra\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Abriendo un %s flujo con las especificaciones de muestra '%s'.\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "grabando"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "playback"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open() %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Demasiados argumentos.\n"
 
-#: ../src/utils/pacat.c:756
-#: ../src/utils/pasuspender.c:280
-#: ../src/utils/pactl.c:1017
-#: ../src/utils/paplay.c:381
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
+#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() falló.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() falló.\n"
 
-#: ../src/utils/pacat.c:783
-#: ../src/utils/pasuspender.c:293
-#: ../src/utils/pactl.c:1031
-#: ../src/utils/paplay.c:396
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
+#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() falló.\n"
 
-#: ../src/utils/pacat.c:791
-#: ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_connect() falló: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() falló.\n"
 
-#: ../src/utils/pacat.c:809
-#: ../src/utils/pasuspender.c:301
-#: ../src/utils/pactl.c:1042
-#: ../src/utils/paplay.c:410
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
+#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
 msgstr "pa_mainloop_run() falló.\n"
@@ -1548,8 +1686,7 @@ msgstr "Error al continuar: %s\n"
 msgid "WARNING: Sound server is not local, not suspending.\n"
 msgstr "AVISO: El servidor de sonido no es local, no se suspende.\n"
 
-#: ../src/utils/pasuspender.c:176
-#: ../src/utils/pactl.c:768
+#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768
 #: ../src/utils/paplay.c:191
 #, c-format
 msgid "Got SIGINT, exiting.\n"
@@ -1567,14 +1704,16 @@ msgid ""
 "\n"
 "  -h, --help                            Show this help\n"
 "      --version                         Show version\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
 "\n"
 msgstr ""
 "%s [opciones] ... \n"
 "\n"
 "  -h, --help                            Muestra esta ayuda\n"
 "      --version                         Muestra la versión\n"
-"  -s, --server=SERVER                   El nombre del servidor con el que conectarse\n"
+"  -s, --server=SERVER                   El nombre del servidor con el que "
+"conectarse\n"
 "\n"
 
 #: ../src/utils/pasuspender.c:251
@@ -1601,7 +1740,9 @@ msgstr "Actualmente en uso: %u bloques conteniendo %s bytes en total.\n"
 #: ../src/utils/pactl.c:117
 #, c-format
 msgid "Allocated during whole lifetime: %u blocks containing %s bytes total.\n"
-msgstr "Ubicados durante a lo largo del tiempo: %u bloques conteniendo %s bytes en total.\n"
+msgstr ""
+"Ubicados durante a lo largo del tiempo: %u bloques conteniendo %s bytes en "
+"total.\n"
 
 #: ../src/utils/pactl.c:120
 #, c-format
@@ -1724,18 +1865,10 @@ msgstr ""
 "\tPropiedades:\n"
 "\t\t%s\n"
 
-#: ../src/utils/pactl.c:306
-#: ../src/utils/pactl.c:350
-#: ../src/utils/pactl.c:385
-#: ../src/utils/pactl.c:422
-#: ../src/utils/pactl.c:481
-#: ../src/utils/pactl.c:482
-#: ../src/utils/pactl.c:492
-#: ../src/utils/pactl.c:536
-#: ../src/utils/pactl.c:537
-#: ../src/utils/pactl.c:543
-#: ../src/utils/pactl.c:586
-#: ../src/utils/pactl.c:587
+#: ../src/utils/pactl.c:306 ../src/utils/pactl.c:350 ../src/utils/pactl.c:385
+#: ../src/utils/pactl.c:422 ../src/utils/pactl.c:481 ../src/utils/pactl.c:482
+#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537
+#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587
 #: ../src/utils/pactl.c:594
 msgid "n/a"
 msgstr "n/a"
@@ -1859,7 +1992,8 @@ msgstr ""
 #: ../src/utils/pactl.c:503
 #, c-format
 msgid "Failed to get source output information: %s\n"
-msgstr "Error al intentar obtener información acerca de la salida de la fuenta: %s\n"
+msgstr ""
+"Error al intentar obtener información acerca de la salida de la fuenta: %s\n"
 
 #: ../src/utils/pactl.c:523
 #, c-format
@@ -1926,8 +2060,7 @@ msgstr ""
 "\tPropiedades:\n"
 "\t\t%s\n"
 
-#: ../src/utils/pactl.c:602
-#: ../src/utils/pactl.c:612
+#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612
 #, c-format
 msgid "Failure: %s\n"
 msgstr "Falla: %s\n"
@@ -1962,8 +2095,10 @@ msgid ""
 "  -h, --help                            Show this help\n"
 "      --version                         Show version\n"
 "\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
-"  -n, --client-name=NAME                How to call this client on the server\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
+"  -n, --client-name=NAME                How to call this client on the "
+"server\n"
 msgstr ""
 "%s [opciones] stat\n"
 "%s [opciones] list\n"
@@ -1982,8 +2117,10 @@ msgstr ""
 "  -h, --help                            Muestra esta ayuda\n"
 "      --version                         Muestra la versión\n"
 "\n"
-"  -s, --server=SERVER                   El nombre del servidor al que conectarse\n"
-"  -n, --client-name=NAME                El nombre de este cliente en el servidor\n"
+"  -s, --server=SERVER                   El nombre del servidor al que "
+"conectarse\n"
+"  -n, --client-name=NAME                El nombre de este cliente en el "
+"servidor\n"
 
 #: ../src/utils/pactl.c:826
 #, c-format
@@ -2019,12 +2156,14 @@ msgstr "Debe especificar un nombre de muestra para ser eliminado\n"
 #: ../src/utils/pactl.c:919
 #, c-format
 msgid "You have to specify a sink input index and a sink\n"
-msgstr "Debe especificar un índice para las entradas del destino y un destino\n"
+msgstr ""
+"Debe especificar un índice para las entradas del destino y un destino\n"
 
 #: ../src/utils/pactl.c:928
 #, c-format
 msgid "You have to specify a source output index and a source\n"
-msgstr "Debe especificar un índice para las salidas de la fuente, y una fuente\n"
+msgstr ""
+"Debe especificar un índice para las salidas de la fuente, y una fuente\n"
 
 #: ../src/utils/pactl.c:942
 #, c-format
@@ -2038,13 +2177,21 @@ msgstr "Debe especificar un índice de módulo\n"
 
 #: ../src/utils/pactl.c:972
 #, c-format
-msgid "You may not specify more than one sink. You have to specify a boolean value.\n"
-msgstr "No puede especificar más de un sumidero. Tiene que especificar un valor booleano.\n"
+msgid ""
+"You may not specify more than one sink. You have to specify a boolean "
+"value.\n"
+msgstr ""
+"No puede especificar más de un sumidero. Tiene que especificar un valor "
+"booleano.\n"
 
 #: ../src/utils/pactl.c:985
 #, c-format
-msgid "You may not specify more than one source. You have to specify a boolean value.\n"
-msgstr "No puede especificar más de una fuente. Tiene que especificar un valor booleano.\n"
+msgid ""
+"You may not specify more than one source. You have to specify a boolean "
+"value.\n"
+msgstr ""
+"No puede especificar más de una fuente. Tiene que especificar un valor "
+"booleano.\n"
 
 #: ../src/utils/pactl.c:997
 #, c-format
@@ -2063,14 +2210,17 @@ msgid ""
 "\n"
 " -d    Show current PulseAudio data attached to X11 display (default)\n"
 " -e    Export local PulseAudio data to X11 display\n"
-" -i    Import PulseAudio data from X11 display to local environment variables and cookie file.\n"
+" -i    Import PulseAudio data from X11 display to local environment "
+"variables and cookie file.\n"
 " -r    Remove PulseAudio data from X11 display\n"
 msgstr ""
 "%s [-D display] [-S server] [-O sink] [-I source] [-c file]  [-d|-e|-i|-r]\n"
 "\n"
-" -d    Muestra los datos actuales de PulseAudio asociados en un display X11 (por defecto)\n"
+" -d    Muestra los datos actuales de PulseAudio asociados en un display X11 "
+"(por defecto)\n"
 " -e    Exporta los datos locales de PulseAudio a un display X11\n"
-" -i    Importa los datos de PulseAudio de un display X11 hacia las variables del entorno local y el archivo de cookies.\n"
+" -i    Importa los datos de PulseAudio de un display X11 hacia las variables "
+"del entorno local y el archivo de cookies.\n"
 " -r    Elimina todo dato de PulseAudio de un display X11\n"
 
 #: ../src/utils/pax11publish.c:94
@@ -2156,14 +2306,12 @@ msgstr "El demonio no responde."
 msgid "select(): %s"
 msgstr "select(): %s"
 
-#: ../src/utils/pacmd.c:154
-#: ../src/utils/pacmd.c:171
+#: ../src/utils/pacmd.c:154 ../src/utils/pacmd.c:171
 #, c-format
 msgid "read(): %s"
 msgstr "read(): %s"
 
-#: ../src/utils/pacmd.c:187
-#: ../src/utils/pacmd.c:201
+#: ../src/utils/pacmd.c:187 ../src/utils/pacmd.c:201
 #, c-format
 msgid "write(): %s"
 msgstr "write(): %s"
@@ -2193,11 +2341,15 @@ msgid ""
 "\n"
 "  -v, --verbose                         Enable verbose operation\n"
 "\n"
-"  -s, --server=SERVER                   The name of the server to connect to\n"
+"  -s, --server=SERVER                   The name of the server to connect "
+"to\n"
 "  -d, --device=DEVICE                   The name of the sink to connect to\n"
-"  -n, --client-name=NAME                How to call this client on the server\n"
-"      --stream-name=NAME                How to call this stream on the server\n"
-"      --volume=VOLUME                   Specify the initial (linear) volume in range 0...65536\n"
+"  -n, --client-name=NAME                How to call this client on the "
+"server\n"
+"      --stream-name=NAME                How to call this stream on the "
+"server\n"
+"      --volume=VOLUME                   Specify the initial (linear) volume "
+"in range 0...65536\n"
 "      --channel-map=CHANNELMAP          Set the channel map to the use\n"
 msgstr ""
 "%s [options] [FILE]\n"
@@ -2205,14 +2357,21 @@ msgstr ""
 "  -h, --help                            Muestra esta ayuda\n"
 "      --version                         Muestra la versión\n"
 "\n"
-"  -v, --verbose                         Habilita operación con vocabulario más detallado\n"
+"  -v, --verbose                         Habilita operación con vocabulario "
+"más detallado\n"
 "\n"
-"  -s, --server=SERVER                   El nombre del servidor al que conectarse\n"
-"  -d, --device=DEVICE                   El nombre del destino al que conectarse\n"
-"  -n, --client-name=NAME                Cómo llamar a este cliente en el servidor\n"
-"      --stream-name=NAME                Cómo llamar a este flujo en el servidor\n"
-"      --volume=VOLUME                   Especifica el volumen inicial (linear)en el rango de 0...65536\n"
-"      --channel-map=CHANNELMAP          Establece el mapa del canal para el uso\n"
+"  -s, --server=SERVER                   El nombre del servidor al que "
+"conectarse\n"
+"  -d, --device=DEVICE                   El nombre del destino al que "
+"conectarse\n"
+"  -n, --client-name=NAME                Cómo llamar a este cliente en el "
+"servidor\n"
+"      --stream-name=NAME                Cómo llamar a este flujo en el "
+"servidor\n"
+"      --volume=VOLUME                   Especifica el volumen inicial "
+"(linear)en el rango de 0...65536\n"
+"      --channel-map=CHANNELMAP          Establece el mapa del canal para el "
+"uso\n"
 
 #: ../src/utils/paplay.c:255
 #, c-format
@@ -2245,8 +2404,7 @@ msgstr "El mapa del canal no se corresponde con el archivo.\n"
 msgid "Using sample spec '%s'\n"
 msgstr "Utilizando especificaciones de muestra '%s'\n"
 
-#: ../src/pulsecore/lock-autospawn.c:126
-#: ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr "No se puede acceder al candado de autogeneración."
 
@@ -2265,6 +2423,7 @@ msgstr "No se puede acceder al candado de autogeneración."
 #, fuzzy
 #~ msgid "--log-time boolean argument"
 #~ msgstr "--disallow-exit argumento booleano"
+
 #~ msgid ""
 #~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n"
 #~ "For enabling real-time scheduling please acquire the appropriate "
@@ -2273,21 +2432,27 @@ msgstr "No se puede acceder al candado de autogeneración."
 #~ "' y PolicyKit se niega a darnos privilegios. Abandonando SUID de nuevo.\n"
 #~ "Para permitir planificación en tiempo real, por favor adquiera los "
 #~ "privilegios de PolicyKit adecuados, o forme parte de '"
+
 #~ msgid ""
 #~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this "
 #~ "user."
 #~ msgstr ""
 #~ "', o incremente los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para "
 #~ "ese usuario. "
+
 #~ msgid "Default sink name (%s) does not exist in name register."
 #~ msgstr ""
 #~ "El nombre de destino por defecto (%s) no existe en el registro de nombres."
+
 #~ msgid "Buffer overrun, dropping incoming data\n"
 #~ msgstr "Búfer desbordado, abandonando datos entrantes\n"
+
 #~ msgid "pa_stream_drop() failed: %s\n"
 #~ msgstr "pa_stream_drop() falló: %s\n"
+
 #~ msgid "muted"
 #~ msgstr "mudo"
+
 #~ msgid ""
 #~ "*** Autoload Entry #%u ***\n"
 #~ "Name: %s\n"
@@ -2300,8 +2465,9 @@ msgstr "No se puede acceder al candado de autogeneración."
 #~ "Tipo: %s\n"
 #~ "Módulo: %s\n"
 #~ "Argumento: %s\n"
+
 #~ msgid "sink"
 #~ msgstr "destino"
+
 #~ msgid "source"
 #~ msgstr "fuente"
-
diff --git a/po/fi.po b/po/fi.po
index 24029e4..8c2bead 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git trunk\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-02-13 08:57+0200\n"
 "Last-Translator: Timo Jyrinki <timo.jyrinki at iki.fi>\n"
 "Language-Team: Finnish <laatu at lokalisointi.org>\n"
@@ -59,7 +59,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -68,7 +68,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -77,7 +77,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -86,12 +86,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Sisäinen virhe"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -161,104 +161,104 @@ msgstr ""
 msgid "PolicyKit responded with '%s'"
 msgstr ""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr ""
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Poistutaan."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr ""
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr ""
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr ""
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr ""
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr ""
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr ""
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr ""
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr ""
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr ""
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -271,46 +271,46 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr ""
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr ""
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Tosiaikainen ajoitus otettu käyttöön asetuksissa, mutta käytännöt eivät "
 "salli sitä."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "Taustaprosessi ei ole käynnissä"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Taustaprosessi käynnissä prosessitunnisteella %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Taustaprosessin lopettaminen epäonnistui: %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -318,144 +318,156 @@ msgstr ""
 "Tätä ohjelmaa ei ole tarkoitettu suoritettavaksi pääkäyttäjänä (ellei --"
 "system ole määritelty)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "Pääkäyttäjän (root) oikeudet vaaditaan."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr ""
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr ""
 "Suoritetaan järjestelmätilassa, otetaan SHM-tila pakotetusti pois käytöstä."
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 "Suoritetaan järjestelmätilassa, otetaan poistumisen joutenoloaika "
 "pakotetusti pois käytöstä."
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr ""
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Taustaprosessin käynnistys epäonnistui."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Taustaprosessin käynnistys onnistui."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Tämä on PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Käännöksen isäntäkone: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "Käännösaikaiset C-liput (CFLAGS): %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Käynnissä isäntäkoneella: %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "Löydettiin %u CPU:ta."
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "Sivun koko on %lu tavua"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Käännetty Valgrind-tuella: kyllä"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Käännetty Valgrind-tuella: ei"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Käynnissä valgrind-tilassa: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Optimoitu rakentaminen: kyllä"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Optimoitu rakentaminen: ei"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Konetunnisteen nouto epäonnistui"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "Konetunniste on %s."
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Käytetään ajonaikaista hakemistoa %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Käytetään tilahakemistoa %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Suoritetaan järjestelmätilassa: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr ""
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "Korkean tarkkuuden ajastimet käytettävissä."
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -463,29 +475,29 @@ msgstr ""
 "Hei, ytimesi on kehno! Linux korkean tarkkuuden ajastimien tuella on hyvin "
 "suositeltava!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr ""
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Taustaprosessin alustus epäonnistui."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr ""
 "Taustaprosessin käynnistys ilman ladattavia moduuleita, kieltäydytään "
 "toiminnasta."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "Taustaprosessin käynnistys valmis."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Taustaprosessin sulkeminen käynnistetty."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Taustaprosessi lopetettu."
 
@@ -1149,21 +1161,21 @@ msgstr "Evästetietojen jäsennys epäonnistui"
 msgid "Failed to open configuration file '%s': %s"
 msgstr ""
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Ei ladattua evästettä. Yritetään yhdistämistä ilman."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr ""
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr ""
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr ""
@@ -1247,88 +1259,93 @@ msgstr "Virta siirretty laitteelle %s (%u, %ssuspended).%s \n"
 msgid "not "
 msgstr "ei "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Virta käynnistetty.%s \n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Yhteys muodostettu.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Yhteysvirhe: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Latenssin selvittäminen epäonnistui: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Aika: %0.3f s; latenssi: %0.0f μs.  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1381,7 +1398,7 @@ msgid ""
 "per request in bytes.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1389,88 +1406,88 @@ msgid ""
 "Linked with libpulse %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "nauhoitus"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "toisto"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Liian monta argumenttia.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr ""
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/fr.po b/po/fr.po
index e48a02a..da5d621 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio trunk\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2008-10-18 20:34+0200\n"
 "Last-Translator: Pablo Martin-Gomez <pablo.martin-gomez at laposte.net>\n"
 "Language-Team: Français <fedora-trans-fr at redhat.com>\n"
@@ -63,7 +63,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -72,7 +72,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -81,7 +81,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -90,12 +90,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Erreur interne"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -167,108 +167,108 @@ msgstr "Impossible d'obtenir l'authentification : %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit a renvoyé « %s »"
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Signal %s obtenu."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Fermeture."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Impossible de trouver l'utilisateur « %s »."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Impossible de trouver le groupe « %s »."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Utilisateur « %s ” (UID %lu) et groupe « %s » (GID %lu) trouvé."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr ""
 "Le GID de l'utilisateur « %s » et du groupe « %s » ne sont pas identiques."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "Le dossier personnel de l'utilisateur « %s » n'est pas « %s », ignoré."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Échec lors de la création de « %s » : %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Échec lors du changement de la liste du groupe : %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Échec lors du changement de GID : %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Échec lors du changement d'UID : %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Les permissions root ont été correctement abandonnées."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "Mode système étendu non pris en charge sur cette plateforme."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) a échoué : %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Échec lors de l'analyse de la ligne de commande"
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 "Nous sommes dans le groupe « %s », permettant une planification à haute "
 "priorité."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 "Nous sommes dans le groupe « %s », permettant une planification en temps réel."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "PolicyKit a accordé l'acquisition des permissions de haute priorité."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -281,48 +281,48 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "La planification à haute priorité est activée dans la configuration mais "
 "n'est pas permise par la politique."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "Augmentation de RLIMIT_RTPRIO réussie"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO a échoué : %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Abandon de CAP_NICE"
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "La planification en temps réel est activée mais n'est pas permise par la "
 "politique."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "Lé démon n'est pas lancé"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Le démon est lancé avec le PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Impossible de tuer le démon : %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -330,148 +330,160 @@ msgstr ""
 "Le programme n'est pas conçu pour être lancé en tant que root (sauf si --"
 "system est renseigné)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 #, fuzzy
 msgid "Root privileges required."
 msgstr "Les permissions root sont nécessaires."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start n'est pas pris en charge pour les instances système."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr ""
 "Le démon s'exécute en mode système, mais --disallow-exit n'est pas défini."
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 "Le démon s'exécute en mode système, mais --disallow-module-loading n'est pas "
 "défini."
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr "Le démon s'exécute en mode système, désactivation forcée du mode SHM."
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 "Le démon s'exécute en mode système, désactivation forcée de la fermeture "
 "après délai d'inactivité."
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Échec lors de l'acquisition de stdio."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "Échec du tube : %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "Échec de fork() : %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "Échec de read() : %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Échec lors du démarrage du démon."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Démarrage du démon réussi."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Pulseaudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Hôte de compilation : %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "CFLAGS de compilation : %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Exécution sur l'hôte : %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr ""
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "La taille de la page est de %lu octets"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Compilé avec la prise en charge Valgrind : oui"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Compilé avec la prise en charge Valgrind : non"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Exécution en mode valgrind : %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Construction optimisée : oui"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Construction optimisée : non"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Échec lors de l'obtention de l'ID de la machine"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "L'ID de la machine est %s."
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Utilisation du répertoire d'exécution %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Utilisation du répertoire d'état %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Exécution en mode système : %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "Échec de pa_pid_file_create()."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr ""
 "De nouvelles horloges à haute résolution sont disponibles ! Bon appétit !"
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -479,27 +491,27 @@ msgstr ""
 "Eh mec, ton noyau il pue ! La recommandation d'aujourd'hui du patron est "
 "d'activer les horloges à haute résolution sur ton Linux."
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "Échec de pa_core_new()."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Échec lors de l'initialisation du démon"
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "Démarrage du démon sans aucun module chargé : refus de fonctionner."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "Démarrage du démon effectué."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Fermeture du démon initiée."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Démon terminé."
 
@@ -1254,21 +1266,21 @@ msgstr "Échec lors de l'analyse des données du cookie"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Échec lors de l'ouverture du fichier de configuration « %s » :%s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Aucun cookie chargé. Tentative de connexion sans celui-ci."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork() : %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid() : %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Message reçu pour une extension inconnue « %s »"
@@ -1355,83 +1367,88 @@ msgstr "Flux déplacé vers le périphérique %s (%u, %ssuspendu).%s \n"
 msgid "not "
 msgstr "non "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Flux vide %s \n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Connection établie.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "Échec de pa_stream_new() : %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "Échec de pa_stream_connect_playback() : %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "Échec de pa_stream_connect_record() : %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Échec lors de la connexion : %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Échec lors du vidage du flux : %s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Flux de lecture vidé.\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Vidage de la connexion au serveur.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "EOF obtenu.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain() : %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "Échec de read() : %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "Échec de write() : %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Signal obtenu, fermeture.\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Échec lors de l'obtention de la latence : %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Durée : %0.3f s ; Latency : %0.0f µs.  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "Échec de pa_stream_update_timing_info() : %s\n"
@@ -1439,7 +1456,7 @@ msgstr "Échec de pa_stream_update_timing_info() : %s\n"
 # downmix = par ex. convertir 5 canaux en 2 canaux
 # upmixer = par ex. convertir 2 canaux en 5 canaux
 # https://bugzilla.redhat.com/show_bug.cgi?id=460798
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1543,7 +1560,7 @@ msgstr ""
 "      --process-time=OCTETS             Demande le temps de traitement "
 "indiqué par requête en octets.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1554,89 +1571,89 @@ msgstr ""
 "Compilé avec libpulse %s\n"
 "Lié avec libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Plan des canaux invalide « %s »\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Spécification de latence invalide « %s »\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Spécification de temps de traitement invalide « %s »\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Spécification d'échantillon invalide\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr ""
 "Le plan des canaux ne correspond pas à la spécification d'échantillon\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "enregistrement"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "lecture"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open() : %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2() : %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Trop de paramètres.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "Échec de pa_mainloop_new().\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "Échec de io_new().\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "Échec de pa_context_new().\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "Échec de pa_context_connect() : %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "Échec de time_new().\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/it.po b/po/it.po
index 35ff098..14d2d87 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-30 19:28+0000\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-04-01 19:18+0200\n"
 "Last-Translator: Milo Casagrande <milo at ubuntu.com>\n"
 "Language-Team: Italiano <tp at lists.linux.it>\n"
@@ -60,7 +60,7 @@ msgstr "Surround digitale 5.1 (IEC958/AC3)"
 msgid "Analog Surround 7.1"
 msgstr "Surround analogico 7.1"
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -72,7 +72,7 @@ msgstr ""
 "Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "
 "questo problema agli sviluppatori ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -84,7 +84,7 @@ msgstr ""
 "Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "
 "questo problema agli sviluppatori ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -97,11 +97,11 @@ msgstr ""
 "Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "
 "questo problema agli sviluppatori ALSA."
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 msgid "Internal Audio"
 msgstr "Audio interno"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr "Modem"
 
@@ -171,105 +171,105 @@ msgstr "Impossibile ottenere l'autorizzazione: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit ha risposto con \"%s\""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Ottenuto il segnale %s."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Uscita."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Ricerca dell'utente \"%s\" non riuscita."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Ricerca del gruppo \"%s\" non riuscita."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Trovato l'utente \"%s\" (UID %lu) e il gruppo \"%s\" (GID %lu)."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "Il GID dell'utente \"%s\" e del gruppo \"%s\" non corrispondono."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "La directory home dell'utente \"%s\" non è \"%s\", ignorato."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Creazione di \"%s\" non riuscita: %s"
 
 # group list ????
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Cambio dell'elenco di gruppo non riuscito: %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Cambio di GID non riuscito: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Cambio di UID non riuscito: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Privilegi di root abbandonati con successo."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "Modalità \"system wide\" non supportata su questa piattaforma."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) non riuscita: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Analisi della riga di comando non riuscita."
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr "Attualmente nel gruppo \"%s\", che consente scheduling high-priority."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr "Attualmente nel gruppo \"%s\", che consente scheduling real-time."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "Privilegi acquire-high-priority assegnati da PolicyKit."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "Privilegi acquire-real-time assegnati da PolicyKit."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "Privilegi acquire-real-time rifiutati da PolicyKit."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -290,49 +290,49 @@ msgstr ""
 "PolicyKit appropriati, diventare un membro di «%s» oppure incrementare i "
 "limiti RLIMIT_NICE/RLIMIT_RTPRIO della risorsa per questo utente."
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Scheduling high-priority abilitato nella configurazione, ma non ammesso "
 "dalla politica."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "Incremento di RLIMIT_RTPRIO riuscito"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO non riuscito: %s"
 
 # abbandono??
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Abbandono del CAP_NICE"
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Scheduling real-time abilitato nella configurazione, ma non ammesso dalla "
 "politica."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "Demone non in esecuzione"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Demone in esecuzione con PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Terminazione del demone non riuscita: %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -340,150 +340,162 @@ msgstr ""
 "Questo programma non è pensato per essere eseguito come root (a meno di "
 "specificare --system)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "Richiesti privilegi di root."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start non supportato per le istanze di sistema."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr "In esecuzione in modalità sistema, ma --disallow-exit non impostato."
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 "In esecuzione in modalità sistema, ma --disallow-module-loading non "
 "impostato."
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr ""
 "In esecuzione in modalità sistema, disabilitata in modo forzoso la modalità "
 "SHM."
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 "In esecuzione in modalità sistema, disabilitato in modo forzoso il tempo di "
 "uscita per inattività."
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Acquisizione di STDIO non riuscita."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "pipe non riuscita: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork() non riuscita: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read() non riuscita: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Avvio del demone non riuscito."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Avvio del demone riuscito."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Questo è PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Host di compilazione: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "CFLAGS di compilazione: %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "In esecuzione sull'host: %s"
 
 # evviva il rispetto della l10n!!!
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "Trovate %u CPU."
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "La dimensione di pagina è %lu byte"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Compilato con supporto a Valgrind: sì"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Compilato con supporto a Valgrind: no"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "In esecuzione in modalità valgrind: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Build ottimizzata: sì"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Build ottimizzata: no"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Recupero dell'ID della macchina non riuscito"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "L'ID della macchina è %s"
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "In uso directory di runtime %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "In uso directory di stato %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "In esecuzione in modalità sistema: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() non riuscita."
 
 # io mi domando e dico..... mah!
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "Disponibili timer high-resolution freschi freschi! Buon appetito!"
 
 # $REPEAT_PREVIOUS_COMMENT_HERE
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -491,27 +503,27 @@ msgstr ""
 "Hey, questo kernel è andato a male! Lo chef oggi raccomanda Linux con i "
 "timer high-resolution abilitati!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() non riuscita."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Inizializzazione del demone non riuscita."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "Avvio del demone senza alcun modulo caricato, rifiuta di lavorare."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "Completato l'avvio del demone."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Iniziato l'arresto del demone."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Demone terminato."
 
@@ -895,7 +907,9 @@ msgstr "Avvia il sistema sonoro PulseAudio"
 #: ../src/daemon/org.pulseaudio.policy.in.h:1
 msgid ""
 "High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "Scheduling high-priority (valori negativi di \"nice\") per il demone PulseAudio"
+msgstr ""
+"Scheduling high-priority (valori negativi di \"nice\") per il demone "
+"PulseAudio"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:2
 msgid "Real-time scheduling for the PulseAudio daemon"
@@ -904,11 +918,15 @@ msgstr "Scheduling realt-time per il demone PulseAudio"
 #: ../src/daemon/org.pulseaudio.policy.in.h:3
 msgid ""
 "System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "La politica di sistema previene PulseAudio dall'ottenere lo scheduling high-priority."
+msgstr ""
+"La politica di sistema previene PulseAudio dall'ottenere lo scheduling high-"
+"priority."
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:4
 msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "La politica di sistema previene PulseAudio dall'ottenere lo scheduling real-time."
+msgstr ""
+"La politica di sistema previene PulseAudio dall'ottenere lo scheduling real-"
+"time."
 
 #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804
 msgid "Mono"
@@ -1284,21 +1302,21 @@ msgstr "Analisi dei dati cookie non riuscita"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Apertura del file di configurazione \"%s\" non riuscita: %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Nessun cookie caricato. Tentativo di connettersi senza."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Ricevuto messaggio per l'estensione sconosciuta \"%s\""
@@ -1384,89 +1402,94 @@ msgstr "Stream spostato sul device %s (%u, %ssospeso).%s \n"
 msgid "not "
 msgstr "non "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Underrun dello stream.%s\n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Connessione stabilita.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Connessione non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Svuotamento dello stream non riuscito: %s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Stream di riproduzione svuotato.\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Svuotamento della connessione sul server.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "Ricevuto EOF.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Ricevuto il segnale, uscita.\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Recupero della latenza non riuscito: %s\n"
 
 # dubbio: tempo o durata??
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Tempo: %0.3f sec; Latenza: %0.0f microsec.  \\r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() non riuscita: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1579,7 +1602,7 @@ msgstr ""
 "per\n"
 "                                         richiesta specificato in byte.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1590,89 +1613,89 @@ msgstr ""
 "Compilato con libpulse %s\n"
 "Link eseguito con libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Mappa di canali \"%s\" non valida\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Specifica di latenza \"%s\" non valida\n"
 
 # esecuzione???
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Specifica di tempo di elaborazione \"%s\" non valida\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Specifica di campionamento non valida\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "La mappa di canali non corrisponde alla specifica di campionamento\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "registrazione"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "riproduzione"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Troppi argomenti.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() non riuscita.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() non riuscita.\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() non riuscita.\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_connect() non riuscita: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() non riuscita.\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/pa.po b/po/pa.po
index ce6d677..11e2fbf 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio.master-tx\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2008-12-24 09:37+0530\n"
 "Last-Translator: Amanpreet Singh Alam <aalam at users.sf.net>\n"
 "Language-Team: Punjabi <punjabi-l10n at users.sf.net>\n"
@@ -61,7 +61,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -70,7 +70,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -79,7 +79,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -88,12 +88,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "ਅੰਦਰੂਨੀ ਗਲਤੀ"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -164,104 +164,104 @@ msgstr ""
 msgid "PolicyKit responded with '%s'"
 msgstr ""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr ""
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr ""
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr ""
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr ""
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr ""
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr ""
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr ""
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr ""
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr ""
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr ""
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -274,211 +274,223 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr ""
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO failed: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr ""
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr ""
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr ""
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
 msgstr ""
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 #, fuzzy
 msgid "Root privileges required."
 msgstr "ਰੂਟ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।"
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr ""
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr ""
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr ""
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "pipe failed: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork() ਫੇਲ੍ਹ ਹੈ: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read() ਫੇਲ੍ਹ ਹੈ: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr ""
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr ""
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr ""
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr ""
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr ""
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr ""
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr ""
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr ""
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr ""
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr ""
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr ""
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr ""
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr ""
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() ਫੇਲ੍ਹ ਹੈ।"
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr ""
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
 msgstr ""
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() ਫੇਲ੍ਹ ਹੈ।"
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr ""
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr ""
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr ""
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr ""
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr ""
 
@@ -1141,21 +1153,21 @@ msgstr ""
 msgid "Failed to open configuration file '%s': %s"
 msgstr ""
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr ""
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr ""
@@ -1239,88 +1251,93 @@ msgstr ""
 msgid "not "
 msgstr "ਨਹੀਂ "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "ਸਟਰੀਮ ਸ਼ੁਰੂ। %s\n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr ""
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "EOF ਮਿਲਿਆ।\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr ""
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1373,7 +1390,7 @@ msgid ""
 "per request in bytes.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1381,88 +1398,88 @@ msgid ""
 "Linked with libpulse %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "ਰਿਕਾਰਡਿੰਗ"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "ਪਲੇਅਬੈਕ"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() ਫੇਲ੍ਹ ਹੈ।\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() ਫੇਲ੍ਹ ਹੈ।\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() ਫੇਲ੍ਹ ਹੈ।\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_connect() ਫੇਲ੍ਹ ਹੈ: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() ਫੇਲ੍ਹ ਹੈ।\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/pl.po b/po/pl.po
index 492b1e8..ca2d094 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-03-05 16:17+0100\n"
 "Last-Translator: Piotr DrÄ…g <piotrdrag at gmail.com>\n"
 "Language-Team: Polish <pl at li.org>\n"
@@ -57,7 +57,7 @@ msgstr "Cyfrowe surround 5.1 (IEC958/AC3)"
 msgid "Analog Surround 7.1"
 msgstr "Analogowe surround 7.1"
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -69,7 +69,7 @@ msgstr ""
 "Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten "
 "problem programistom ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -81,7 +81,7 @@ msgstr ""
 "Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten "
 "problem programistom ALSA."
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -93,11 +93,11 @@ msgstr ""
 "Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten "
 "problem programistom ALSA."
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 msgid "Internal Audio"
 msgstr "Wewnętrzny dźwięk"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr "Modem"
 
@@ -168,106 +168,106 @@ msgstr "Nie można uzyskać upoważnienia: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit zwróciło \"%s\""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Otrzymano sygnał %s."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Wyłączanie."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Znalezienie użytkownika \"%s\" nie powiodło się."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Znalezienie grupy \"%s\" nie powiodło się."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Znaleziono użytkownika \"%s\" (UID %lu) i grupę \"%s\" (GID %lu)."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "GID użytkownika \"%s\" i grupy \"%s\" nie zgadzają się."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "Folder domowy użytkownika \"%s\" nie jest \"%s\", ignorowanie."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Utworzenie \"%s\" nie powiodło się: %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Zmiana listy grup nie powiodła się: %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Zmiana GID nie powiodła się: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Zmiana UID nie powiodła się: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Pomyślnie porzucono uprawnienia roota."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "Tryb systemowy nie jest obsługiwany na tej platformie."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) nie powiodło się: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Analiza wiersza poleceń nie powiodła się."
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 "Jesteśmy w grupie \"%s\", co umożliwia szeregowanie o wysokim priorytecie."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 "Jesteśmy w grupie \"%s\", co umożliwia szeregowanie w czasie rzeczywistym."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "PolicyKit nadał uprawnienie \"acquire-high-priority\"."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-high-priority\"."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "PolicyKit nadał uprawnienie \"acquire-real-time\"."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-real-time\"."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -288,48 +288,48 @@ msgstr ""
 "\" lub zwiększyć ograniczenia zasobów RLIMIT_NICE/RLIMIT_RTPRIO dla tego "
 "użytkownika."
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Szeregowanie o wysokim priorytecie jest włączone w konfiguracji, ale nie "
 "jest zezwolone przez politykÄ™."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "Pomyślnie zwiększono RLIMIT_RTPRIO"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO nie powiodło się: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Oddawanie CAP_NICE"
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "Szeregowanie w czasie rzeczywistym jest włączone w konfiguracji, ale nie "
 "jest zezwolone przez politykÄ™."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "Demon nie jest uruchomiony"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Demon jest uruchomiony jako PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Zniszczenie demona nie powiodło się: %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -337,146 +337,158 @@ msgstr ""
 "Ten program nie powinien być uruchomiany jako root (chyba, że podano --"
 "system)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "Wymagane sÄ… uprawnienia roota."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start nie jest obsługiwane przy uruchamianiu systemowym."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr ""
 "Uruchamianie w trybie systemowym, ale --disallow-exit nie jest ustawione!"
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 "Uruchamianie w trybie systemowym, ale --disallow-module-loading nie jest "
 "ustawione!"
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr "Uruchamianie w trybie systemowym, wymuszanie wyłączenia trybu SHM!"
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 "Uruchamianie w trybie systemowym, wymuszanie wyłączenia czasu oczekiwania na "
 "zakończenie!"
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Uzyskanie standardowego wejścia/wyjścia nie powiodło się."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "potok nie powiódł się: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork() nie powiodło się: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read() nie powiodło się: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Uruchomienie demona nie powiodło się."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Pomyślnie uruchomiono demona."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "To jest PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Komputer kompilacji: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "CFLAGS kompilacji: %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Uruchamianie na komputerze: %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "Znaleziono %u procesorów."
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "Rozmiar strony to %lu bajtów"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Skompilowano z obsługą Valgrind: tak"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Skompilowano z obsługą Valgrind: nie"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Uruchamianie w trybie Valgrind: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Budowanie optymalizowane: tak"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Budowanie optymalizowane: nie"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Uzyskanie identyfikatora komputera nie powiodło się"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "Identyfikator komputera to %s."
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Używanie folderu wykonywania %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Używanie folderu stanu %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Uruchamianie w trybie systemowym: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() nie powiodło się."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "Świeże zegary o wysokiej rozdzielczości! Smacznego!"
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -484,27 +496,27 @@ msgstr ""
 "Koleś, twoje jądro śmierdzi! Szef kuchni poleca dzisiaj Linuksa w włączonymi "
 "zegarami o wysokiej rozdzielczości!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() nie powiodło się."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Zainicjowanie demona nie powiodło się."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "Uruchamianie demona bez żadnych wczytanych modułów, odmawianie pracy."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "Zakończono uruchamianie demona."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "Zainicjowano wyłączenie demona."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Demon został zniszczony."
 
@@ -1255,21 +1267,21 @@ msgstr "Analiza danych ciasteczka nie powiodło się"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Otwarcie pliku konfiguracji \"%s\" nie powiodło się: %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Nie wczytano ciasteczka. Próbowanie połączenia się bez niego."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Otrzymano komunikat z nieznanego powodu \"%s\""
@@ -1353,88 +1365,93 @@ msgstr "Strumień został przeniesiony do urządzenia %s (%u, %swstrzymane).%s \
 msgid "not "
 msgstr "nie "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Niedopełniono strumień.%s \n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Ustanowiono połączenie.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Połączenie nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Opróżnienie strumienia nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Opróżniono strumień odtwarzania.\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Opróżnianie połączenia z serwerem.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "Otrzymano EOF.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Otrzymano sygnał, wyłączanie.\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Uzyskanie opóźnienia nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Czas: %0.3f sekundy; opóźnienie: %0.0f usekundy.  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() nie powiodło się: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1534,7 +1551,7 @@ msgstr ""
 "      --process-time=BAJTY              Żąda określonego czasu procesu na "
 "żądanie w bajtach.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1545,88 +1562,88 @@ msgstr ""
 "Skompilowane za pomocÄ… libpulse %s\n"
 "Skonsolidowane za pomocÄ… libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Nieprawidłowa mapa kanałów \"%s\"\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Nieprawidłowe określenie opóźnienia \"%s\"\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Nieprawidłowe określenie czasu procesu \"%s\"\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Nieprawidłowe określenie próbki\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "Mapa kanałów nie zgadza się z określeniem próbki\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Otwieranie strumienia %s za pomocą określenie próbki \"%s\".\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "nagrywanie"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "odtwarzanie"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Za dużo parametrów.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() nie powiodło się.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() nie powiodło się.\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() nie powiodło się.\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_connect() nie powiodło się: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() nie powiodło się.\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 5be2094..eafab31 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2008-11-21 01:21-0300\n"
 "Last-Translator: Henrique (LonelySpooky) Junior <lspooky at fedoraproject.org>\n"
 "Language-Team: Brazilian-Portuguese <fedora-trans-pt_br at redhat.com>\n"
@@ -62,7 +62,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -71,7 +71,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -80,7 +80,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -89,12 +89,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Erro interno"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -166,104 +166,104 @@ msgstr "Não foi possível obter auth: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit respondeu com '%s'"
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Sinal %s recebido."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Saindo."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Falha em encontrar o usuário '%s'."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Falha em encontrar o grupo '%s'."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "Usuário '%s' (UID %lu) e grupo  '%s' (GID %lu) encontrados."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "O GID do usuário'%s' e do grupo '%s' não combinam."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "O diretório Home do usuário '%s' não é '%s', ignorando."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Falha em criar '%s': %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "Falha em alterar a lista de grupos: %s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "Falha em mudar o GID: %s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "Falha em mudar o UID: %s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "Os privilégios do root foram retirados com sucesso."
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "O modo ampliado do sistema não tem suporte nessa plataforma."
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) falhou: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "Falha em interpretar a linha de comando."
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade."
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real."
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "O PolicyKit assegura-nos a aquisição de privilégio de alta prioridade."
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade."
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "O PolicyKit assegura-nos a aquisição de privilégios de tempo-real."
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real."
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -276,48 +276,48 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "O escalonamento de alta prioridade foi habilitado para esta configuração, "
 "mas não é permitida pela política."
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "RLIMIT_RTPRIO aumentado com sucesso"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO falhou: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "Abandonando CAP_NICE"
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 "O escalonamento de tempo real foi habilitado pela configuração, mas não é "
 "permitido pela política."
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "O daemon não está em execução"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "Daemon executando como PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "Falha em encerrar o daemon: %s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -325,144 +325,156 @@ msgstr ""
 "Este programa não é para ser executado como root (a não ser que --system "
 "seja especificado)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 #, fuzzy
 msgid "Root privileges required."
 msgstr "Privilégios de rot são requeridos."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start não tem suporte para instâncias de sistemas."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr "Executando em no modo system, mas --disallow-exit não foi configurado!"
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 "Executando no modo system, mas --disallow-module-loading não foi configurado!"
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr "Executando no modo system, desabilitando forçadamente o modo SHM!"
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 "Executando no modo system, desabilitando forçadamente o exit idle time!"
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "Falha em adquirir o stdio."
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "O pipe falhou: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "O fork() falhou: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "A operação read() falhou: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "Falha na partida do daemon."
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "Os daemons foram iniciados com sucesso."
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Este é o PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "Host de compilação: %s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "Compilação CFLAGS: %s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "Executando no host: %s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr ""
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "O tamanho da página é %lu bytes"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "Compilado com suporte do Valgrind: sim"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "Compilado com suporte do Valgrind: não"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "Executando em modo valgrind: %s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "Build otimizado: sim"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "Build otimizado: não"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "Falha em obter o ID da máquina"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "A ID da máquina é %s."
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "Usando o diretório de runtime %s."
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "Usando o diretório de estado %s."
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "Executando em modo do sistema: %s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() falhou."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "Timers de alta resolução frequinhos disponíveis! Bon appetit!"
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
@@ -470,28 +482,28 @@ msgstr ""
 "Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de "
 "alta resolução habilitados!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() falhou."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "Falha em iniciar o daemon."
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr ""
 "O Daemon iniciou sem qualquer módulo carregado, recusando-se a trabalhar."
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "A partida dos Daemon está completa."
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "O encerramento do Daemon foi iniciado."
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "Daemon terminado."
 
@@ -1236,21 +1248,21 @@ msgstr "Falhou ao analisar os dados do cookie"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Falha em abrir o arquivo de configuração '%s': %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "Nenhum cookie foi carregado. Tentativa de conexão sem eles."
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "Foi recebida uma mensagem para uma extensão desconhecida '%s'"
@@ -1334,88 +1346,93 @@ msgstr "O fluxo foi movido para o dispositivo %s (%u, %ssuspended).%s \n"
 msgid "not "
 msgstr "não"
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "Extravazamento do fluxo. %s\n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "Conexão estabelecida.%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() falhou: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() falhou: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() falhou: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Falha na conexão: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "Falha em drenar o fluxo: %s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "Drenado o fluxo de playback.\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Drenando a conexão par ao servidor.\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "Atingiu EOF.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() falhou: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() falhou: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "Sinal recebido, saindo (exiting).\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "Falhou em obter a latência: %s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Tempo: %0.3f s; Latência: %0.0f us.  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "Falha em pa_stream_update_timing_info(): %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1512,7 +1529,7 @@ msgstr ""
 "      --process-time=BYTES              Request the specified process time "
 "per request in bytes.\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1523,88 +1540,88 @@ msgstr ""
 "Compilado com  libpulse %s\n"
 "Linkado com libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "Mapa de canal inválido '%s'\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "Especificação de latência inválida '%s'\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "Especificação do tempo do processo inválida '%s'\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "Especificação de amostragem inválida\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "O mapeamento do canal não casa com a especificação da amostragem\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "Abrindo um %s fluxo com a especificação de amostragem '%s'.\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "gravando"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "playback"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "Argumentos em excesso.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() falhou.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() falhou.\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() falhou.\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_new() falhou: %s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() falhou.\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/sv.po b/po/sv.po
index c51bdf6..92d9059 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2008-09-05 18:24+0100\n"
 "Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
@@ -59,7 +59,7 @@ msgstr ""
 msgid "Analog Surround 7.1"
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -68,7 +68,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -77,7 +77,7 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -86,12 +86,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Internt fel"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr ""
 
@@ -162,104 +162,104 @@ msgstr ""
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit svarade med \"%s\""
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "Fick signal %s."
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "Avslutar."
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "Misslyckades med att hitta användaren \"%s\"."
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "Misslyckades med att hitta gruppen \"%s\"."
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr ""
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr ""
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "Hemkatalogen för användaren \"%s\" är inte \"%s\", ignorerar."
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Misslyckades med att skapa \"%s\": %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr ""
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr ""
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) misslyckades: %s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr ""
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr ""
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr ""
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -272,44 +272,44 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 
-#: ../src/daemon/main.c:538
+#: ../src/daemon/main.c:566
 msgid ""
 "High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr ""
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO misslyckades: %s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr ""
 
-#: ../src/daemon/main.c:584
+#: ../src/daemon/main.c:612
 msgid ""
 "Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr ""
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr ""
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr ""
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
@@ -317,168 +317,180 @@ msgstr ""
 "Detta program är inte tänkt att köras som root (såvida inte --system har "
 "angivits)."
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 #, fuzzy
 msgid "Root privileges required."
 msgstr "Root-behörighet krävs."
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "--start stöds inte för systeminstanser."
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr ""
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr ""
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr ""
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr ""
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "pipe misslyckades: %s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork() misslyckades: %s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read() misslyckades: %s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr ""
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr ""
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "Detta är PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr ""
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr ""
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr ""
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr ""
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr ""
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr ""
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr ""
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr ""
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr ""
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr ""
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr ""
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create() misslyckades."
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr ""
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
 msgstr ""
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new() misslyckades."
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr ""
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr ""
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr ""
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr ""
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr ""
 
@@ -1146,21 +1158,21 @@ msgstr ""
 msgid "Failed to open configuration file '%s': %s"
 msgstr "Misslyckades med att öppna konfigurationsfilen \"%s\": %s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr ""
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork(): %s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid(): %s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr ""
@@ -1244,88 +1256,93 @@ msgstr ""
 msgid "not "
 msgstr "inte "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr ""
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr ""
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new() misslyckades: %s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback() misslyckades: %s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_record() misslyckades: %s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "Anslutningsfel: %s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "Fick filslut.\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain(): %s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read() misslyckades: %s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write() misslyckades: %s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "Tid: %0.3f sec; Latens: %0.0f ms  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info() misslyckades: %s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1378,7 +1395,7 @@ msgid ""
 "per request in bytes.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1386,88 +1403,88 @@ msgid ""
 "Linked with libpulse %s\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr ""
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr ""
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open(): %s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2(): %s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "För många argument.\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new() misslyckades.\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new() misslyckades.\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new() misslyckades.\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, fuzzy, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_new() misslyckades.\n"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new() misslyckades.\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 1fc9d85..3294d41 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio.master-tx\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-19 17:58+0100\n"
+"POT-Creation-Date: 2009-04-04 02:28+0200\n"
 "PO-Revision-Date: 2009-04-01 21:36+1000\n"
 "Last-Translator: Leah Liu <lliu at redhat.com>\n"
 "Language-Team: Simplified Chinese <zh at li.org>\n"
@@ -64,7 +64,7 @@ msgstr "数字环绕 5.1(IEC958/AC3)"
 msgid "Analog Surround 7.1"
 msgstr "模拟环绕 7.1"
 
-#: ../src/modules/alsa/alsa-util.c:1602
+#: ../src/modules/alsa/alsa-util.c:1609
 #, c-format
 msgid ""
 "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -75,7 +75,7 @@ msgstr ""
 "snd_pcm_avail() 返回的值非常大:%lu 字节(%lu ms)。\n"
 "很可能是 ALSA 驱动程序 '%s' 中的 bug。请向 ALSA 开发者举报这个问题。"
 
-#: ../src/modules/alsa/alsa-util.c:1642
+#: ../src/modules/alsa/alsa-util.c:1649
 #, c-format
 msgid ""
 "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -86,7 +86,7 @@ msgstr ""
 "snd_pcm_delay() 返回的值非常大:%li 字节(%s%lu ms)。\n"
 "很可能是 ALSA 驱动程序 '%s' 中的 bug。请向 ALSA 开发者举报这个问题。"
 
-#: ../src/modules/alsa/alsa-util.c:1688
+#: ../src/modules/alsa/alsa-util.c:1695
 #, c-format
 msgid ""
 "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -97,11 +97,11 @@ msgstr ""
 "snd_pcm_mmap_begin() 返回的值非常大:%lu 字节(%lu ms)。\n"
 "很可能是 ALSA 驱动程序 '%s' 中的 bug。请向 ALSA 开发者举报这个问题。"
 
-#: ../src/pulsecore/sink.c:1965
+#: ../src/pulsecore/sink.c:2035
 msgid "Internal Audio"
 msgstr "内部音频"
 
-#: ../src/pulsecore/sink.c:1971
+#: ../src/pulsecore/sink.c:2041
 msgid "Modem"
 msgstr "调制解调器"
 
@@ -171,104 +171,104 @@ msgstr "无法获取授权: %s"
 msgid "PolicyKit responded with '%s'"
 msgstr "PolicyKit回复'%s'"
 
-#: ../src/daemon/main.c:134
+#: ../src/daemon/main.c:137
 #, c-format
 msgid "Got signal %s."
 msgstr "获得信号%s"
 
-#: ../src/daemon/main.c:161
+#: ../src/daemon/main.c:164
 msgid "Exiting."
 msgstr "退出"
 
-#: ../src/daemon/main.c:179
+#: ../src/daemon/main.c:182
 #, c-format
 msgid "Failed to find user '%s'."
 msgstr "找不到用户 `%s' "
 
-#: ../src/daemon/main.c:184
+#: ../src/daemon/main.c:187
 #, c-format
 msgid "Failed to find group '%s'."
 msgstr "找不到用户组 `%s'"
 
-#: ../src/daemon/main.c:188
+#: ../src/daemon/main.c:191
 #, c-format
 msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
 msgstr "发现用户'%s' (UID %lu)和组'%s' (GID %lu)."
 
-#: ../src/daemon/main.c:193
+#: ../src/daemon/main.c:196
 #, c-format
 msgid "GID of user '%s' and of group '%s' don't match."
 msgstr "用户'%s'与组'%s'的GID不匹配."
 
-#: ../src/daemon/main.c:198
+#: ../src/daemon/main.c:201
 #, c-format
 msgid "Home directory of user '%s' is not '%s', ignoring."
 msgstr "用户'%s'的主文件夹不是'%s',忽略。"
 
-#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
+#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "创建'%s'失败: %s"
 
-#: ../src/daemon/main.c:213
+#: ../src/daemon/main.c:216
 #, c-format
 msgid "Failed to change group list: %s"
 msgstr "更改组列表失败:%s"
 
-#: ../src/daemon/main.c:229
+#: ../src/daemon/main.c:232
 #, c-format
 msgid "Failed to change GID: %s"
 msgstr "更改GID失败:%s"
 
-#: ../src/daemon/main.c:245
+#: ../src/daemon/main.c:248
 #, c-format
 msgid "Failed to change UID: %s"
 msgstr "更改UID失败:%s"
 
-#: ../src/daemon/main.c:259
+#: ../src/daemon/main.c:262
 msgid "Successfully dropped root privileges."
 msgstr "成功放弃root权限。"
 
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
 msgid "System wide mode unsupported on this platform."
 msgstr "此平台不支持system-wide模式。"
 
-#: ../src/daemon/main.c:285
+#: ../src/daemon/main.c:288
 #, c-format
 msgid "setrlimit(%s, (%u, %u)) failed: %s"
 msgstr "setrlimit(%s, (%u, %u)) 失败:%s"
 
-#: ../src/daemon/main.c:434
+#: ../src/daemon/main.c:462
 msgid "Failed to parse command line."
 msgstr "分析命令行失败。"
 
-#: ../src/daemon/main.c:458
+#: ../src/daemon/main.c:486
 #, c-format
 msgid "We're in the group '%s', allowing high-priority scheduling."
 msgstr "我们在'%s'组中,允许高优先级调度。"
 
-#: ../src/daemon/main.c:465
+#: ../src/daemon/main.c:493
 #, c-format
 msgid "We're in the group '%s', allowing real-time scheduling."
 msgstr "我们在'%s'组中,允许实时调度。"
 
-#: ../src/daemon/main.c:473
+#: ../src/daemon/main.c:501
 msgid "PolicyKit grants us acquire-high-priority privilege."
 msgstr "PolicyKit授予我们“获取高优先级”权限。"
 
-#: ../src/daemon/main.c:476
+#: ../src/daemon/main.c:504
 msgid "PolicyKit refuses acquire-high-priority privilege."
 msgstr "PolicyKit拒绝“获取高优先级”权限。"
 
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:509
 msgid "PolicyKit grants us acquire-real-time privilege."
 msgstr "PolicyKit授予我们“获取实时”权限。"
 
-#: ../src/daemon/main.c:484
+#: ../src/daemon/main.c:512
 msgid "PolicyKit refuses acquire-real-time privilege."
 msgstr "PolicyKit拒绝我们“获取实时”权限。"
 
-#: ../src/daemon/main.c:513
+#: ../src/daemon/main.c:541
 #, c-format
 msgid ""
 "Called SUID root and real-time and/or high-priority scheduling was requested "
@@ -281,211 +281,227 @@ msgid ""
 "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
 msgstr ""
 "配置中需要调用 SUID root、实时和/或者高优先调度。但是我们缺少必要的特权:\n"
-"我们不属于组群 '%s',PolicyKit 拒绝赋予我们要求的特权,而我们无法增加 RLIMIT_NICE/RLIMIT_RTPRIO 资源限制。\n"
-"要启用实时/高优先调度,请获得适当的 PolicyKit 特权,或者成为 '%s' 成员,也可以为这个用户增加 RLIMIT_NICE/RLIMIT_RTPRIO 资源限制。"
+"我们不属于组群 '%s',PolicyKit 拒绝赋予我们要求的特权,而我们无法增加 "
+"RLIMIT_NICE/RLIMIT_RTPRIO 资源限制。\n"
+"要启用实时/高优先调度,请获得适当的 PolicyKit 特权,或者成为 '%s' 成员,也可"
+"以为这个用户增加 RLIMIT_NICE/RLIMIT_RTPRIO 资源限制。"
 
-#: ../src/daemon/main.c:538
-msgid "High-priority scheduling enabled in configuration but not allowed by policy."
+#: ../src/daemon/main.c:566
+msgid ""
+"High-priority scheduling enabled in configuration but not allowed by policy."
 msgstr "配置中已启用高优先级调度,但策略未允许。"
 
-#: ../src/daemon/main.c:567
+#: ../src/daemon/main.c:595
 msgid "Successfully increased RLIMIT_RTPRIO"
 msgstr "提高RLIMIT_RTPRIO成功。"
 
-#: ../src/daemon/main.c:570
+#: ../src/daemon/main.c:598
 #, c-format
 msgid "RLIMIT_RTPRIO failed: %s"
 msgstr "RLIMIT_RTPRIO失败:%s"
 
-#: ../src/daemon/main.c:577
+#: ../src/daemon/main.c:605
 msgid "Giving up CAP_NICE"
 msgstr "正在放弃CAP_NICE"
 
-#: ../src/daemon/main.c:584
-msgid "Real-time scheduling enabled in configuration but not allowed by policy."
+#: ../src/daemon/main.c:612
+msgid ""
+"Real-time scheduling enabled in configuration but not allowed by policy."
 msgstr "配置中已启用实时调度,但策略未允许。"
 
-#: ../src/daemon/main.c:645
+#: ../src/daemon/main.c:673
 msgid "Daemon not running"
 msgstr "后台程序没有运行"
 
-#: ../src/daemon/main.c:647
+#: ../src/daemon/main.c:675
 #, c-format
 msgid "Daemon running as PID %u"
 msgstr "后台程序正在运行,PID %u"
 
-#: ../src/daemon/main.c:657
+#: ../src/daemon/main.c:685
 #, c-format
 msgid "Failed to kill daemon: %s"
 msgstr "杀死后台程序失败:%s"
 
-#: ../src/daemon/main.c:675
+#: ../src/daemon/main.c:703
 msgid ""
 "This program is not intended to be run as root (unless --system is "
 "specified)."
 msgstr "不应以root身份运行本程序(除非指定 --system)。"
 
-#: ../src/daemon/main.c:677
+#: ../src/daemon/main.c:705
 msgid "Root privileges required."
 msgstr "需要 root 权限。"
 
-#: ../src/daemon/main.c:682
+#: ../src/daemon/main.c:710
 msgid "--start not supported for system instances."
 msgstr "系统实例不支持 --start。"
 
-#: ../src/daemon/main.c:687
+#: ../src/daemon/main.c:715
 msgid "Running in system mode, but --disallow-exit not set!"
 msgstr "正在以系统模式运行,但是 --disallow-exit 未设定!"
 
-#: ../src/daemon/main.c:690
+#: ../src/daemon/main.c:718
 msgid "Running in system mode, but --disallow-module-loading not set!"
 msgstr "正在以系统模式运行,但是 --disallow-module-loading 未设定!"
 
-#: ../src/daemon/main.c:693
+#: ../src/daemon/main.c:721
 msgid "Running in system mode, forcibly disabling SHM mode!"
 msgstr "正在以系统模式运行,强制禁用SHM模式!"
 
-#: ../src/daemon/main.c:698
+#: ../src/daemon/main.c:726
 msgid "Running in system mode, forcibly disabling exit idle time!"
 msgstr "正在以系统模式运行,强制禁用退出空闲时间!"
 
-#: ../src/daemon/main.c:725
+#: ../src/daemon/main.c:753
 msgid "Failed to acquire stdio."
 msgstr "获取stdio失败。"
 
-#: ../src/daemon/main.c:731
+#: ../src/daemon/main.c:759
 #, c-format
 msgid "pipe failed: %s"
 msgstr "管道失败:%s"
 
-#: ../src/daemon/main.c:736
+#: ../src/daemon/main.c:764
 #, c-format
 msgid "fork() failed: %s"
 msgstr "fork()失败:%s"
 
-#: ../src/daemon/main.c:750
+#: ../src/daemon/main.c:778
 #, c-format
 msgid "read() failed: %s"
 msgstr "read()失败:%s"
 
-#: ../src/daemon/main.c:756
+#: ../src/daemon/main.c:784
 msgid "Daemon startup failed."
 msgstr "后台程序启动失败。"
 
-#: ../src/daemon/main.c:758
+#: ../src/daemon/main.c:786
 msgid "Daemon startup successful."
 msgstr "后台程序启动成功。"
 
-#: ../src/daemon/main.c:828
+#: ../src/daemon/main.c:856
 #, c-format
 msgid "This is PulseAudio %s"
 msgstr "这是 PulseAudio %s"
 
-#: ../src/daemon/main.c:829
+#: ../src/daemon/main.c:857
 #, c-format
 msgid "Compilation host: %s"
 msgstr "编译主机:%s"
 
-#: ../src/daemon/main.c:830
+#: ../src/daemon/main.c:858
 #, c-format
 msgid "Compilation CFLAGS: %s"
 msgstr "编译CFLAGS:%s"
 
-#: ../src/daemon/main.c:833
+#: ../src/daemon/main.c:861
 #, c-format
 msgid "Running on host: %s"
 msgstr "正在主机上运行:%s"
 
-#: ../src/daemon/main.c:836
+#: ../src/daemon/main.c:864
 #, c-format
 msgid "Found %u CPUs."
 msgstr "找到 %u CPU。"
 
-#: ../src/daemon/main.c:838
+#: ../src/daemon/main.c:866
 #, c-format
 msgid "Page size is %lu bytes"
 msgstr "页面大小为%lu字节"
 
-#: ../src/daemon/main.c:841
+#: ../src/daemon/main.c:869
 msgid "Compiled with Valgrind support: yes"
 msgstr "编译启用Valgrind支持:是"
 
-#: ../src/daemon/main.c:843
+#: ../src/daemon/main.c:871
 msgid "Compiled with Valgrind support: no"
 msgstr "编译启用Valgrind支持:否"
 
-#: ../src/daemon/main.c:846
+#: ../src/daemon/main.c:874
 #, c-format
 msgid "Running in valgrind mode: %s"
 msgstr "正在以valgrind模式运行:%s"
 
-#: ../src/daemon/main.c:849
+#: ../src/daemon/main.c:877
 msgid "Optimized build: yes"
 msgstr "优化生成:是"
 
-#: ../src/daemon/main.c:851
+#: ../src/daemon/main.c:879
 msgid "Optimized build: no"
 msgstr "优化生成:否"
 
-#: ../src/daemon/main.c:855
+#: ../src/daemon/main.c:883
+msgid "NDEBUG defined, all asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:885
+msgid "FASTPATH defined, only fast path asserts disabled."
+msgstr ""
+
+#: ../src/daemon/main.c:887
+msgid "All asserts enabled."
+msgstr ""
+
+#: ../src/daemon/main.c:891
 msgid "Failed to get machine ID"
 msgstr "获取machine ID失败"
 
-#: ../src/daemon/main.c:858
+#: ../src/daemon/main.c:894
 #, c-format
 msgid "Machine ID is %s."
 msgstr "machine ID是%s。"
 
-#: ../src/daemon/main.c:863
+#: ../src/daemon/main.c:899
 #, c-format
 msgid "Using runtime directory %s."
 msgstr "正在使用运行时文件夹%s。"
 
-#: ../src/daemon/main.c:868
+#: ../src/daemon/main.c:904
 #, c-format
 msgid "Using state directory %s."
 msgstr "正在使用状态文件夹%s。"
 
-#: ../src/daemon/main.c:871
+#: ../src/daemon/main.c:907
 #, c-format
 msgid "Running in system mode: %s"
 msgstr "正在以系统模式运行:%s"
 
-#: ../src/daemon/main.c:886
+#: ../src/daemon/main.c:922
 msgid "pa_pid_file_create() failed."
 msgstr "pa_pid_file_create()失败。"
 
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:934
 msgid "Fresh high-resolution timers available! Bon appetit!"
 msgstr "新鲜的高分辨率计时器开锅了!吃个饱!"
 
-#: ../src/daemon/main.c:900
+#: ../src/daemon/main.c:936
 msgid ""
 "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
 "resolution timers enabled!"
 msgstr "老兄,你的内核真臭!现在流行的是启用了高分辩率计分器的Linux!"
 
-#: ../src/daemon/main.c:912
+#: ../src/daemon/main.c:948
 msgid "pa_core_new() failed."
 msgstr "pa_core_new()失败。"
 
-#: ../src/daemon/main.c:974
+#: ../src/daemon/main.c:1010
 msgid "Failed to initialize daemon."
 msgstr "后台程序初始化失败。"
 
-#: ../src/daemon/main.c:979
+#: ../src/daemon/main.c:1015
 msgid "Daemon startup without any loaded modules, refusing to work."
 msgstr "后台程序启动未加载任何模块,拒绝工作。"
 
-#: ../src/daemon/main.c:992
+#: ../src/daemon/main.c:1032
 msgid "Daemon startup complete."
 msgstr "后台程序启动完成。"
 
-#: ../src/daemon/main.c:998
+#: ../src/daemon/main.c:1038
 msgid "Daemon shutdown initiated."
 msgstr "开始关闭后台程序。"
 
-#: ../src/daemon/main.c:1016
+#: ../src/daemon/main.c:1056
 msgid "Daemon terminated."
 msgstr "后台程序已终止。"
 
@@ -602,9 +618,10 @@ msgstr ""
 "                                        (使用 --dump-resample-methods 查看\n"
 "                                        可能的值)\n"
 "      --use-pid-file[=BOOL]             创建一个PID文件\n"
-"      --no-cpu-limit[=BOOL]             不在支持它的平台中安装 CPU 载入限制程序。\n"
-"                                        "
-"      --disable-shm[=BOOL]              禁用共享内存支持\n"
+"      --no-cpu-limit[=BOOL]             不在支持它的平台中安装 CPU 载入限制程"
+"序。\n"
+"                                              --disable-shm"
+"[=BOOL]              禁用共享内存支持\n"
 "\n"
 "STARTUP SCRIPT:\n"
 "  -L, --load=\"MODULE ARGUMENTS\"         用指令参数加载\n"
@@ -813,7 +830,8 @@ msgid "Start the PulseAudio Sound System"
 msgstr "启动 PulseAudio 声音系统"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid "High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
+msgid ""
+"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
 msgstr "PulseAudio 守护进程的高优先调度(负的 Unix nic 等级)"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:2
@@ -821,7 +839,8 @@ msgid "Real-time scheduling for the PulseAudio daemon"
 msgstr "PulseAudio 守护进程的实时调度。"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid "System policy prevents PulseAudio from acquiring high-priority scheduling."
+msgid ""
+"System policy prevents PulseAudio from acquiring high-priority scheduling."
 msgstr "系统策略防止 PulseAudio 获得高优先调度。"
 
 #: ../src/daemon/org.pulseaudio.policy.in.h:4
@@ -1200,21 +1219,21 @@ msgstr "cookie数据分析失败"
 msgid "Failed to open configuration file '%s': %s"
 msgstr "打开配置文件'%s'失败:%s"
 
-#: ../src/pulse/context.c:523
+#: ../src/pulse/context.c:539
 msgid "No cookie loaded. Attempting to connect without."
 msgstr "没有加载cookie。尝试不加载cookie进行连接。"
 
-#: ../src/pulse/context.c:653
+#: ../src/pulse/context.c:669
 #, c-format
 msgid "fork(): %s"
 msgstr "fork():%s"
 
-#: ../src/pulse/context.c:706
+#: ../src/pulse/context.c:722
 #, c-format
 msgid "waitpid(): %s"
 msgstr "waitpid():%s"
 
-#: ../src/pulse/context.c:1304
+#: ../src/pulse/context.c:1387
 #, c-format
 msgid "Received message for unknown extension '%s'"
 msgstr "收到未知扩展'%s'的信息"
@@ -1298,88 +1317,93 @@ msgstr "流移至设备%s (%u,%s挂起)。%s\n"
 msgid "not "
 msgstr "not "
 
-#: ../src/utils/pacat.c:271
+#: ../src/utils/pacat.c:245
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s \n"
+msgstr "流欠载运行。%s\n"
+
+#: ../src/utils/pacat.c:278
 #, c-format
 msgid "Connection established.%s \n"
 msgstr "连接已建立。%s \n"
 
-#: ../src/utils/pacat.c:274
+#: ../src/utils/pacat.c:281
 #, c-format
 msgid "pa_stream_new() failed: %s\n"
 msgstr "pa_stream_new()失败:%s\n"
 
-#: ../src/utils/pacat.c:301
+#: ../src/utils/pacat.c:309
 #, c-format
 msgid "pa_stream_connect_playback() failed: %s\n"
 msgstr "pa_stream_connect_playback()失败:%s\n"
 
-#: ../src/utils/pacat.c:307
+#: ../src/utils/pacat.c:315
 #, c-format
 msgid "pa_stream_connect_record() failed: %s\n"
 msgstr "pa_stream_connect_playback()失败:%s\n"
 
-#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159
+#: ../src/utils/pacat.c:329 ../src/utils/pasuspender.c:159
 #: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183
 #, c-format
 msgid "Connection failure: %s\n"
 msgstr "连接失败:%s\n"
 
-#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75
+#: ../src/utils/pacat.c:349 ../src/utils/paplay.c:75
 #, c-format
 msgid "Failed to drain stream: %s\n"
 msgstr "排出流失败:%s\n"
 
-#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80
+#: ../src/utils/pacat.c:354 ../src/utils/paplay.c:80
 #, c-format
 msgid "Playback stream drained.\n"
 msgstr "流播放完毕。\n"
 
-#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92
+#: ../src/utils/pacat.c:364 ../src/utils/paplay.c:92
 #, c-format
 msgid "Draining connection to server.\n"
 msgstr "Draining 连接到服务器。\n"
 
-#: ../src/utils/pacat.c:382
+#: ../src/utils/pacat.c:390
 #, c-format
 msgid "Got EOF.\n"
 msgstr "收到EOF。\n"
 
-#: ../src/utils/pacat.c:388
+#: ../src/utils/pacat.c:396
 #, c-format
 msgid "pa_stream_drain(): %s\n"
 msgstr "pa_stream_drain():%s\n"
 
-#: ../src/utils/pacat.c:398
+#: ../src/utils/pacat.c:406
 #, c-format
 msgid "read() failed: %s\n"
 msgstr "read()失败:%s\n"
 
-#: ../src/utils/pacat.c:430
+#: ../src/utils/pacat.c:438
 #, c-format
 msgid "write() failed: %s\n"
 msgstr "write()失败:%s\n"
 
-#: ../src/utils/pacat.c:451
+#: ../src/utils/pacat.c:459
 #, c-format
 msgid "Got signal, exiting.\n"
 msgstr "收到信号,正在退出。\n"
 
-#: ../src/utils/pacat.c:465
+#: ../src/utils/pacat.c:473
 #, c-format
 msgid "Failed to get latency: %s\n"
 msgstr "获取传输延迟失败:%s\n"
 
-#: ../src/utils/pacat.c:470
+#: ../src/utils/pacat.c:478
 #, c-format
 msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"
 msgstr "时间:%0.3f秒;延迟:%0.0f 微秒。  \r"
 
-#: ../src/utils/pacat.c:490
+#: ../src/utils/pacat.c:498
 #, c-format
 msgid "pa_stream_update_timing_info() failed: %s\n"
 msgstr "pa_stream_update_timing_info()失败:%s\n"
 
-#: ../src/utils/pacat.c:503
+#: ../src/utils/pacat.c:511
 #, c-format
 msgid ""
 "%s [options]\n"
@@ -1464,7 +1488,7 @@ msgstr ""
 "      --latency=BYTES                   请求指定字节数的延迟。\n"
 "      --process-time=BYTES              每次请求指定字节数的处理时间。\n"
 
-#: ../src/utils/pacat.c:604
+#: ../src/utils/pacat.c:612
 #, c-format
 msgid ""
 "pacat %s\n"
@@ -1475,88 +1499,88 @@ msgstr ""
 "Compiled with libpulse %s\n"
 "Linked with libpulse %s\n"
 
-#: ../src/utils/pacat.c:661
+#: ../src/utils/pacat.c:669
 #, c-format
 msgid "Invalid channel map '%s'\n"
 msgstr "无效的通道映射描述'%s'\n"
 
-#: ../src/utils/pacat.c:690
+#: ../src/utils/pacat.c:698
 #, c-format
 msgid "Invalid latency specification '%s'\n"
 msgstr "无效的延迟规格描述 %s'\n"
 
-#: ../src/utils/pacat.c:697
+#: ../src/utils/pacat.c:705
 #, c-format
 msgid "Invalid process time specification '%s'\n"
 msgstr "无效的处理时间描述 '%s'\n"
 
-#: ../src/utils/pacat.c:708
+#: ../src/utils/pacat.c:716
 #, c-format
 msgid "Invalid sample specification\n"
 msgstr "无效的采样描述\n"
 
-#: ../src/utils/pacat.c:713
+#: ../src/utils/pacat.c:721
 #, c-format
 msgid "Channel map doesn't match sample specification\n"
 msgstr "通道映射与采样描述不匹配\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 #, c-format
 msgid "Opening a %s stream with sample specification '%s'.\n"
 msgstr "以采样规格'%s'打开%s流。\n"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "recording"
 msgstr "正在录制"
 
-#: ../src/utils/pacat.c:720
+#: ../src/utils/pacat.c:728
 msgid "playback"
 msgstr "回放"
 
-#: ../src/utils/pacat.c:728
+#: ../src/utils/pacat.c:736
 #, c-format
 msgid "open(): %s\n"
 msgstr "open():%s\n"
 
-#: ../src/utils/pacat.c:733
+#: ../src/utils/pacat.c:741
 #, c-format
 msgid "dup2(): %s\n"
 msgstr "dup2():%s\n"
 
-#: ../src/utils/pacat.c:743
+#: ../src/utils/pacat.c:751
 #, c-format
 msgid "Too many arguments.\n"
 msgstr "参数过多。\n"
 
-#: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280
+#: ../src/utils/pacat.c:764 ../src/utils/pasuspender.c:280
 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381
 #, c-format
 msgid "pa_mainloop_new() failed.\n"
 msgstr "pa_mainloop_new()失败。\n"
 
-#: ../src/utils/pacat.c:777
+#: ../src/utils/pacat.c:785
 #, c-format
 msgid "io_new() failed.\n"
 msgstr "io_new()失败。\n"
 
-#: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293
+#: ../src/utils/pacat.c:791 ../src/utils/pasuspender.c:293
 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396
 #, c-format
 msgid "pa_context_new() failed.\n"
 msgstr "pa_context_new()失败。\n"
 
-#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037
+#: ../src/utils/pacat.c:799 ../src/utils/pactl.c:1037
 #: ../src/utils/paplay.c:404
 #, c-format
 msgid "pa_context_connect() failed: %s"
 msgstr "pa_context_connect()失败:%s"
 
-#: ../src/utils/pacat.c:802
+#: ../src/utils/pacat.c:810
 #, c-format
 msgid "time_new() failed.\n"
 msgstr "time_new()失败。\n"
 
-#: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301
+#: ../src/utils/pacat.c:817 ../src/utils/pasuspender.c:301
 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410
 #, c-format
 msgid "pa_mainloop_run() failed.\n"
@@ -2290,4 +2314,3 @@ msgstr "正在使用采样规格'%s'\n"
 #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr "不能访问autospawn锁。"
-

commit f7083280f82f2b5cf4bde0d64cbec9fb7ac9f970
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Apr 4 02:30:30 2009 +0200

    add missing files to POTFILES.in

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 54dbea7..2cd451f 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -192,3 +192,8 @@ src/utils/pax11publish.c
 src/utils/pacmd.c
 src/utils/paplay.c
 src/pulsecore/lock-autospawn.c
+src/modules/alsa/alsa-sink.c
+src/modules/alsa/alsa-source.c
+src/modules/alsa/module-alsa-card.c
+src/modules/bluetooth/module-bluetooth-device.c
+src/modules/reserve-wrap.c

commit 77a1e3876bb11be79b32509d744136f89d76025f
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Apr 4 04:12:42 2009 +0200

    refuse to initialize on modem devices

diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index b43fa06..cdf1ca8 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -1617,6 +1617,11 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
     pa_assert(u->device_name);
     pa_log_info("Successfully opened device %s.", u->device_name);
 
+    if (pa_alsa_pcm_is_modem(u->pcm_handle)) {
+        pa_log_notice("Device %s is modem, refusing further initialization.", u->device_name);
+        goto fail;
+    }
+
     if (profile)
         pa_log_info("Selected configuration '%s' (%s).", profile->description, profile->name);
 
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index 348cd08..d9c6010 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -1469,6 +1469,11 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
     pa_assert(u->device_name);
     pa_log_info("Successfully opened device %s.", u->device_name);
 
+    if (pa_alsa_pcm_is_modem(u->pcm_handle)) {
+        pa_log_notice("Device %s is modem, refusing further initialization.", u->device_name);
+        goto fail;
+    }
+
     if (profile)
         pa_log_info("Selected configuration '%s' (%s).", profile->description, profile->name);
 
diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index be8cd1c..870cf0f 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -1769,3 +1769,15 @@ pa_bool_t pa_alsa_pcm_is_hw(snd_pcm_t *pcm) {
 
     return snd_pcm_info_get_card(info) >= 0;
 }
+
+pa_bool_t pa_alsa_pcm_is_modem(snd_pcm_t *pcm) {
+    snd_pcm_info_t* info;
+    snd_pcm_info_alloca(&info);
+
+    pa_assert(pcm);
+
+    if (snd_pcm_info(pcm, info) < 0)
+        return FALSE;
+
+    return snd_pcm_info_get_class(info) == SND_PCM_CLASS_MODEM;
+}
diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h
index 5cad295..94f27d1 100644
--- a/src/modules/alsa/alsa-util.h
+++ b/src/modules/alsa/alsa-util.h
@@ -141,4 +141,6 @@ char *pa_alsa_get_reserve_name(const char *device);
 
 pa_bool_t pa_alsa_pcm_is_hw(snd_pcm_t *pcm);
 
+pa_bool_t pa_alsa_pcm_is_modem(snd_pcm_t *pcm);
+
 #endif

commit 9bea2503d9faf5c1a4236194ea44754e27bf86e8
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Apr 4 04:13:11 2009 +0200

    increase log buffer further

diff --git a/src/pulsecore/log.c b/src/pulsecore/log.c
index 750d73b..60ea9c5 100644
--- a/src/pulsecore/log.c
+++ b/src/pulsecore/log.c
@@ -262,7 +262,7 @@ void pa_log_levelv_meta(
 
     /* We don't use dynamic memory allocation here to minimize the hit
      * in RT threads */
-    char text[4096], location[128], timestamp[32];
+    char text[16*1024], location[128], timestamp[32];
 
     pa_assert(level < PA_LOG_LEVEL_MAX);
     pa_assert(format);

commit ca39fa2c6f9036a4c90804625842f6af38fb8008
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Apr 4 04:13:58 2009 +0200

    initialize sound cards only after the 'control' object appeared

diff --git a/src/modules/module-hal-detect.c b/src/modules/module-hal-detect.c
index 0dd22cb..b6139e4 100644
--- a/src/modules/module-hal-detect.c
+++ b/src/modules/module-hal-detect.c
@@ -121,6 +121,7 @@ static const char *strip_udi(const char *udi) {
 enum alsa_type {
     ALSA_TYPE_PLAYBACK,
     ALSA_TYPE_CAPTURE,
+    ALSA_TYPE_CONTROL,
     ALSA_TYPE_OTHER
 };
 
@@ -141,6 +142,8 @@ static enum alsa_type hal_alsa_device_get_type(LibHalContext *context, const cha
         t = ALSA_TYPE_PLAYBACK;
     else if (pa_streq(type, "capture"))
         t = ALSA_TYPE_CAPTURE;
+    else if (pa_streq(type, "control"))
+        t = ALSA_TYPE_CONTROL;
 
     libhal_free_string(type);
 
@@ -171,7 +174,8 @@ static pa_bool_t hal_alsa_device_is_modem(LibHalContext *context, const char *ud
 
 finish:
     if (dbus_error_is_set(&error)) {
-        pa_log_error("D-Bus error while parsing HAL ALSA data: %s: %s", error.name, error.message);
+        if (!dbus_error_has_name(&error, "org.freedesktop.Hal.NoSuchProperty"))
+            pa_log_error("D-Bus error while parsing HAL ALSA data: %s: %s", error.name, error.message);
         dbus_error_free(&error);
     }
 
@@ -193,10 +197,23 @@ static int hal_device_load_alsa(struct userdata *u, const char *udi, struct devi
 
     /* We only care for PCM devices */
     type = hal_alsa_device_get_type(u->context, udi);
-    if (type == ALSA_TYPE_OTHER)
+
+    /* For each ALSA card that appears the control device will be the
+     * last one to be created, this is considered part of the ALSA
+     * usperspace API. We rely on this and load our modules only when
+     * the control device is available assuming that *all* device
+     * nodes have been properly created and assigned the right ACLs at
+     * that time. Also see:
+     *
+     * http://mailman.alsa-project.org/pipermail/alsa-devel/2009-April/015958.html
+     *
+     * and the associated thread.*/
+
+    if (type != ALSA_TYPE_CONTROL)
         goto fail;
 
-    /* We don't care for modems */
+    /* We don't care for modems -- this is most likely not set for
+     * control devices, so kind of pointless here. */
     if (hal_alsa_device_is_modem(u->context, udi))
         goto fail;
 
@@ -411,9 +428,10 @@ static int hal_device_add_all(struct userdata *u) {
         for (i = 0; i < n; i++) {
             struct device *d;
 
-            if ((d = hal_device_add(u, udis[i])))
+            if ((d = hal_device_add(u, udis[i]))) {
                 count++;
-            else
+                pa_log_debug("Loaded device %s", udis[i]);
+            } else
                 pa_log_debug("Not loaded device %s", udis[i]);
         }
     }
@@ -449,6 +467,8 @@ static void device_added_cb(LibHalContext *context, const char *udi) {
 
     if (!hal_device_add(u, udi))
         pa_log_debug("Not loaded device %s", udi);
+    else
+        pa_log_debug("Loaded device %s", udi);
 
 finish:
     if (dbus_error_is_set(&error)) {

commit d035f4a3f3e73fd67d69a03c03adc9a08f30ef21
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 02:26:02 2009 +0200

    Modify smoothing code to make cubic interpolation optional and allow 'quick fixups' on resuming
    
    The primary reason for this change is to allow time graphs that do not
    go through the origin and hence smoothing starting from the origin is
    not desired. This change will allow passing time data into the smoother
    while paused and then abruptly use that data without smoothing using the
    'quick fixup' flag when resuming.
    
    Primary use case is allowing recording time graphs where the data
    recorded originates from a time before the stream was created. The
    resulting graft will be shifted and should not be smoothened to go
    through the origin.

diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 0dc0e2b..942b59e 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -1286,7 +1286,7 @@ static void thread_func(void *userdata) {
                     pa_log_info("Starting playback.");
                     snd_pcm_start(u->pcm_handle);
 
-                    pa_smoother_resume(u->smoother, pa_rtclock_usec());
+                    pa_smoother_resume(u->smoother, pa_rtclock_usec(), TRUE);
                 }
 
                 update_smoother(u);
@@ -1495,7 +1495,6 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
     snd_pcm_uframes_t period_frames, tsched_frames;
     size_t frame_size;
     pa_bool_t use_mmap = TRUE, b, use_tsched = TRUE, d, ignore_dB = FALSE;
-    pa_usec_t usec;
     pa_sink_new_data data;
 
     pa_assert(m);
@@ -1559,10 +1558,14 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
     u->rtpoll = pa_rtpoll_new();
     pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll);
 
-    u->smoother = pa_smoother_new(DEFAULT_TSCHED_BUFFER_USEC*2, DEFAULT_TSCHED_BUFFER_USEC*2, TRUE, 5);
-    usec = pa_rtclock_usec();
-    pa_smoother_set_time_offset(u->smoother, usec);
-    pa_smoother_pause(u->smoother, usec);
+    u->smoother = pa_smoother_new(
+            DEFAULT_TSCHED_BUFFER_USEC*2,
+            DEFAULT_TSCHED_BUFFER_USEC*2,
+            TRUE,
+            TRUE,
+            5,
+            pa_rtclock_usec(),
+            TRUE);
 
     if (reserve_init(u, pa_modargs_get_value(
                              ma, "device_id",
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index 348cd08..a5d2e29 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -776,7 +776,7 @@ static int unsuspend(struct userdata *u) {
     /* FIXME: We need to reload the volume somehow */
 
     snd_pcm_start(u->pcm_handle);
-    pa_smoother_resume(u->smoother, pa_rtclock_usec());
+    pa_smoother_resume(u->smoother, pa_rtclock_usec(), TRUE);
 
     pa_log_info("Resumed successfully...");
 
@@ -1416,8 +1416,14 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
     pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll);
     u->alsa_rtpoll_item = NULL;
 
-    u->smoother = pa_smoother_new(DEFAULT_TSCHED_WATERMARK_USEC*2, DEFAULT_TSCHED_WATERMARK_USEC*2, TRUE, 5);
-    pa_smoother_set_time_offset(u->smoother, pa_rtclock_usec());
+    u->smoother = pa_smoother_new(
+            DEFAULT_TSCHED_WATERMARK_USEC*2,
+            DEFAULT_TSCHED_WATERMARK_USEC*2,
+            TRUE,
+            TRUE,
+            5,
+            pa_rtclock_usec(),
+            FALSE);
 
     if (reserve_init(u, pa_modargs_get_value(
                              ma, "device_id",
diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c
index 96b95b4..4613172 100644
--- a/src/modules/bluetooth/module-bluetooth-device.c
+++ b/src/modules/bluetooth/module-bluetooth-device.c
@@ -869,7 +869,7 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off
                         if (start_stream_fd(u) < 0)
                             failed = TRUE;
 
-                    pa_smoother_resume(u->read_smoother, pa_rtclock_usec());
+                    pa_smoother_resume(u->read_smoother, pa_rtclock_usec(), TRUE);
                     break;
 
                 case PA_SOURCE_UNLINKED:
@@ -1965,7 +1965,14 @@ int pa__init(pa_module* m) {
     u->core = m->core;
     u->service_fd = -1;
     u->stream_fd = -1;
-    u->read_smoother = pa_smoother_new(PA_USEC_PER_SEC, PA_USEC_PER_SEC*2, TRUE, 10);
+    u->read_smoother = pa_smoother_new(
+            PA_USEC_PER_SEC,
+            PA_USEC_PER_SEC*2,
+            TRUE,
+            TRUE,
+            10,
+            0,
+            FALSE);
     u->sample_spec = m->core->default_sample_spec;
     u->modargs = ma;
 
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c
index b7e18bc..a1ef8da 100644
--- a/src/modules/module-combine.c
+++ b/src/modules/module-combine.c
@@ -664,7 +664,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
             if (PA_PTR_TO_UINT(data) == PA_SINK_SUSPENDED)
                 pa_smoother_pause(u->thread_info.smoother, pa_rtclock_usec());
             else
-                pa_smoother_resume(u->thread_info.smoother, pa_rtclock_usec());
+                pa_smoother_resume(u->thread_info.smoother, pa_rtclock_usec(), TRUE);
 
             break;
 
@@ -1043,7 +1043,14 @@ int pa__init(pa_module*m) {
     pa_atomic_store(&u->thread_info.running, FALSE);
     u->thread_info.in_null_mode = FALSE;
     u->thread_info.counter = 0;
-    u->thread_info.smoother = pa_smoother_new(PA_USEC_PER_SEC, PA_USEC_PER_SEC*2, TRUE, 10);
+    u->thread_info.smoother = pa_smoother_new(
+            PA_USEC_PER_SEC,
+            PA_USEC_PER_SEC*2,
+            TRUE,
+            TRUE,
+            10,
+            0,
+            FALSE);
 
     if (pa_modargs_get_value_u32(ma, "adjust_time", &u->adjust_time) < 0) {
         pa_log("Failed to parse adjust_time value");
diff --git a/src/modules/module-esound-sink.c b/src/modules/module-esound-sink.c
index 5c47f44..a1a783a 100644
--- a/src/modules/module-esound-sink.c
+++ b/src/modules/module-esound-sink.c
@@ -150,7 +150,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
                 case PA_SINK_RUNNING:
 
                     if (u->sink->thread_info.state == PA_SINK_SUSPENDED)
-                        pa_smoother_resume(u->smoother, pa_rtclock_usec());
+                        pa_smoother_resume(u->smoother, pa_rtclock_usec(), TRUE);
 
                     break;
 
@@ -545,7 +545,14 @@ int pa__init(pa_module*m) {
     u->module = m;
     m->userdata = u;
     u->fd = -1;
-    u->smoother = pa_smoother_new(PA_USEC_PER_SEC, PA_USEC_PER_SEC*2, TRUE, 10);
+    u->smoother = pa_smoother_new(
+            PA_USEC_PER_SEC,
+            PA_USEC_PER_SEC*2,
+            TRUE,
+            TRUE,
+            10,
+            0,
+            FALSE);
     pa_memchunk_reset(&u->memchunk);
     u->offset = 0;
 
diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c
index d8ddf18..4d68b1b 100644
--- a/src/modules/module-raop-sink.c
+++ b/src/modules/module-raop-sink.c
@@ -192,7 +192,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
                 case PA_SINK_RUNNING:
 
                     if (u->sink->thread_info.state == PA_SINK_SUSPENDED) {
-                        pa_smoother_resume(u->smoother, pa_rtclock_usec());
+                        pa_smoother_resume(u->smoother, pa_rtclock_usec(), TRUE);
 
                         /* The connection can be closed when idle, so check to
                            see if we need to reestablish it */
@@ -540,7 +540,14 @@ int pa__init(pa_module*m) {
     u->module = m;
     m->userdata = u;
     u->fd = -1;
-    u->smoother = pa_smoother_new(PA_USEC_PER_SEC, PA_USEC_PER_SEC*2, TRUE, 10);
+    u->smoother = pa_smoother_new(
+            PA_USEC_PER_SEC,
+            PA_USEC_PER_SEC*2,
+            TRUE,
+            TRUE,
+            10,
+            0,
+            FALSE);
     pa_memchunk_reset(&u->raw_memchunk);
     pa_memchunk_reset(&u->encoded_memchunk);
     u->offset = 0;
diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c
index 1d658ba..5ea58aa 100644
--- a/src/modules/module-tunnel.c
+++ b/src/modules/module-tunnel.c
@@ -405,7 +405,7 @@ static void check_smoother_status(struct userdata *u, pa_bool_t past)  {
     if (u->remote_suspended || u->remote_corked)
         pa_smoother_pause(u->smoother, x);
     else
-        pa_smoother_resume(u->smoother, x);
+        pa_smoother_resume(u->smoother, x, TRUE);
 }
 
 /* Called from IO thread context */
@@ -1815,7 +1815,14 @@ int pa__init(pa_module*m) {
     u->source_name = pa_xstrdup(pa_modargs_get_value(ma, "source", NULL));;
     u->source = NULL;
 #endif
-    u->smoother = pa_smoother_new(PA_USEC_PER_SEC, PA_USEC_PER_SEC*2, TRUE, 10);
+    u->smoother = pa_smoother_new(
+            PA_USEC_PER_SEC,
+            PA_USEC_PER_SEC*2,
+            TRUE,
+            TRUE,
+            10,
+            pa_rtclock_usec(),
+            FALSE);
     u->ctag = 1;
     u->device_index = u->channel = PA_INVALID_INDEX;
     u->time_event = NULL;
@@ -1933,8 +1940,6 @@ int pa__init(pa_module*m) {
     u->fragsize = (uint32_t) -1;
 #endif
 
-    pa_smoother_set_time_offset(u->smoother, pa_rtclock_usec());
-
     if (!(u->thread = pa_thread_new(thread_func, u))) {
         pa_log("Failed to create thread.");
         goto fail;
diff --git a/src/modules/rtp/module-rtp-recv.c b/src/modules/rtp/module-rtp-recv.c
index 209770f..445941c 100644
--- a/src/modules/rtp/module-rtp-recv.c
+++ b/src/modules/rtp/module-rtp-recv.c
@@ -430,8 +430,14 @@ static struct session *session_new(struct userdata *u, const pa_sdp_info *sdp_in
     s->sdp_info = *sdp_info;
     s->rtpoll_item = NULL;
     s->intended_latency = LATENCY_USEC;
-    s->smoother = pa_smoother_new(PA_USEC_PER_SEC*5, PA_USEC_PER_SEC*2, TRUE, 10);
-    pa_smoother_set_time_offset(s->smoother, pa_timeval_load(&now));
+    s->smoother = pa_smoother_new(
+            PA_USEC_PER_SEC*5,
+            PA_USEC_PER_SEC*2,
+            TRUE,
+            TRUE,
+            10,
+            pa_timeval_load(&now),
+            FALSE);
     s->last_rate_update = pa_timeval_load(&now);
     pa_atomic_store(&s->timestamp, (int) now.tv_sec);
 
diff --git a/src/pulse/stream.c b/src/pulse/stream.c
index c4a54af..ff3644f 100644
--- a/src/pulse/stream.c
+++ b/src/pulse/stream.c
@@ -393,7 +393,8 @@ static void check_smoother_status(pa_stream *s, pa_bool_t aposteriori, pa_bool_t
     if (s->suspended || s->corked || force_stop)
         pa_smoother_pause(s->smoother, x);
     else if (force_start || s->buffer_attr.prebuf == 0)
-        pa_smoother_resume(s->smoother, x);
+        pa_smoother_resume(s->smoother, x, TRUE);
+
 
     /* Please note that we have no idea if playback actually started
      * if prebuf is non-zero! */
@@ -1064,14 +1065,17 @@ static int create_stream(
     if (flags & PA_STREAM_INTERPOLATE_TIMING) {
         pa_usec_t x;
 
-        if (s->smoother)
-            pa_smoother_free(s->smoother);
-
-        s->smoother = pa_smoother_new(SMOOTHER_ADJUST_TIME, SMOOTHER_HISTORY_TIME, !(flags & PA_STREAM_NOT_MONOTONIC), SMOOTHER_MIN_HISTORY);
-
         x = pa_rtclock_usec();
-        pa_smoother_set_time_offset(s->smoother, x);
-        pa_smoother_pause(s->smoother, x);
+
+        pa_assert(!s->smoother);
+        s->smoother = pa_smoother_new(
+                SMOOTHER_ADJUST_TIME,
+                SMOOTHER_HISTORY_TIME,
+                !(flags & PA_STREAM_NOT_MONOTONIC),
+                TRUE,
+                SMOOTHER_MIN_HISTORY,
+                x,
+                TRUE);
     }
 
     if (!dev)
@@ -1623,7 +1627,7 @@ static void stream_get_timing_info_callback(pa_pdispatch *pd, uint32_t command,
                 pa_smoother_put(o->stream->smoother, u, calc_time(o->stream, TRUE));
 
             if (i->playing)
-                pa_smoother_resume(o->stream->smoother, x);
+                pa_smoother_resume(o->stream->smoother, x, TRUE);
         }
     }
 
diff --git a/src/pulsecore/time-smoother.c b/src/pulsecore/time-smoother.c
index 6562194..55ac868 100644
--- a/src/pulsecore/time-smoother.c
+++ b/src/pulsecore/time-smoother.c
@@ -78,17 +78,26 @@ struct pa_smoother {
 
     /* Cached parameters for our interpolation polynomial y=ax^3+b^2+cx */
     double a, b, c;
-    pa_bool_t abc_valid;
+    pa_bool_t abc_valid:1;
 
     pa_bool_t monotonic:1;
     pa_bool_t paused:1;
+    pa_bool_t smoothing:1; /* If FALSE we skip the polonyomial interpolation step */
 
     pa_usec_t pause_time;
 
     unsigned min_history;
 };
 
-pa_smoother* pa_smoother_new(pa_usec_t adjust_time, pa_usec_t history_time, pa_bool_t monotonic, unsigned min_history) {
+pa_smoother* pa_smoother_new(
+        pa_usec_t adjust_time,
+        pa_usec_t history_time,
+        pa_bool_t monotonic,
+        pa_bool_t smoothing,
+        unsigned min_history,
+        pa_usec_t time_offset,
+        pa_bool_t paused) {
+
     pa_smoother *s;
 
     pa_assert(adjust_time > 0);
@@ -116,9 +125,13 @@ pa_smoother* pa_smoother_new(pa_usec_t adjust_time, pa_usec_t history_time, pa_b
     s->abc_valid = FALSE;
 
     s->paused = FALSE;
+    s->smoothing = smoothing;
 
     s->min_history = min_history;
 
+    s->paused = paused;
+    s->time_offset = s->pause_time = time_offset;
+
     return s;
 }
 
@@ -278,7 +291,7 @@ static void estimate(pa_smoother *s, pa_usec_t x, pa_usec_t *y, double *deriv) {
     pa_assert(s);
     pa_assert(y);
 
-    if (x >= s->px) {
+    if (!s->smoothing || x >= s->px) {
         int64_t t;
 
         /* The requested point is right of the point where we wanted
@@ -348,7 +361,6 @@ void pa_smoother_put(pa_smoother *s, pa_usec_t x, pa_usec_t y) {
          * we can adjust our position smoothly from this one */
         estimate(s, x, &ney, &nde);
         s->ex = x; s->ey = ney; s->de = nde;
-
         s->ry = y;
     }
 
@@ -359,8 +371,13 @@ void pa_smoother_put(pa_smoother *s, pa_usec_t x, pa_usec_t y) {
     s->dp = avg_gradient(s, x);
 
     /* And calculate when we want to be on track again */
-    s->px = s->ex + s->adjust_time;
-    s->py = s->ry + (pa_usec_t) llrint(s->dp * (double) s->adjust_time);
+    if (s->smoothing) {
+        s->px = s->ex + s->adjust_time;
+        s->py = s->ry + (pa_usec_t) llrint(s->dp * (double) s->adjust_time);
+    } else {
+        s->px = s->ex;
+        s->py = s->ry;
+    }
 
     s->abc_valid = FALSE;
 
@@ -420,7 +437,7 @@ void pa_smoother_pause(pa_smoother *s, pa_usec_t x) {
     s->pause_time = x;
 }
 
-void pa_smoother_resume(pa_smoother *s, pa_usec_t x) {
+void pa_smoother_resume(pa_smoother *s, pa_usec_t x, pa_bool_t fix_now) {
     pa_assert(s);
 
     if (!s->paused)
@@ -433,6 +450,16 @@ void pa_smoother_resume(pa_smoother *s, pa_usec_t x) {
 
     s->paused = FALSE;
     s->time_offset += x - s->pause_time;
+
+    if (fix_now)
+        pa_smoother_fix_now(s);
+}
+
+void pa_smoother_fix_now(pa_smoother *s) {
+    pa_assert(s);
+
+    s->px = s->ex;
+    s->py = s->ry;
 }
 
 pa_usec_t pa_smoother_translate(pa_smoother *s, pa_usec_t x, pa_usec_t y_delay) {
diff --git a/src/pulsecore/time-smoother.h b/src/pulsecore/time-smoother.h
index 2051e64..5244a7e 100644
--- a/src/pulsecore/time-smoother.h
+++ b/src/pulsecore/time-smoother.h
@@ -27,7 +27,15 @@
 
 typedef struct pa_smoother pa_smoother;
 
-pa_smoother* pa_smoother_new(pa_usec_t x_adjust_time, pa_usec_t x_history_time, pa_bool_t monotonic, unsigned min_history);
+pa_smoother* pa_smoother_new(
+        pa_usec_t x_adjust_time,
+        pa_usec_t x_history_time,
+        pa_bool_t monotonic,
+        pa_bool_t smoothing,
+        unsigned min_history,
+        pa_usec_t x_offset,
+        pa_bool_t paused);
+
 void pa_smoother_free(pa_smoother* s);
 
 /* Adds a new value to our dataset. x = local/system time, y = remote time */
@@ -42,8 +50,10 @@ pa_usec_t pa_smoother_translate(pa_smoother *s, pa_usec_t x, pa_usec_t y_delay);
 void pa_smoother_set_time_offset(pa_smoother *s, pa_usec_t x_offset);
 
 void pa_smoother_pause(pa_smoother *s, pa_usec_t x);
-void pa_smoother_resume(pa_smoother *s, pa_usec_t x);
+void pa_smoother_resume(pa_smoother *s, pa_usec_t x, pa_bool_t abrupt);
 
 void pa_smoother_reset(pa_smoother *s);
 
+void pa_smoother_fix_now(pa_smoother *s);
+
 #endif
diff --git a/src/tests/smoother-test.c b/src/tests/smoother-test.c
index 798dfed..2cc9f58 100644
--- a/src/tests/smoother-test.c
+++ b/src/tests/smoother-test.c
@@ -45,10 +45,12 @@ int main(int argc, char*argv[]) {
 
     srand(0);
 
+    pa_log_set_level(PA_LOG_DEBUG);
+
     for (m = 0, u = 0; u < PA_ELEMENTSOF(msec); u+= 2) {
 
         msec[u] = m+1 + (rand() % 100) - 50;
-        msec[u+1] = m + (rand() % 2000) - 1000;
+        msec[u+1] = m + (rand() % 2000) - 1000   + 5000;
 
         m += rand() % 100;
 
@@ -59,7 +61,7 @@ int main(int argc, char*argv[]) {
             msec[u+1] = 0;
     }
 
-    s = pa_smoother_new(700*PA_USEC_PER_MSEC, 2000*PA_USEC_PER_MSEC, TRUE, 6);
+    s = pa_smoother_new(700*PA_USEC_PER_MSEC, 2000*PA_USEC_PER_MSEC, FALSE, TRUE, 6, 0, TRUE);
 
     for (x = 0, u = 0; x < PA_USEC_PER_SEC * 10; x += PA_USEC_PER_MSEC) {
 
@@ -67,6 +69,8 @@ int main(int argc, char*argv[]) {
             pa_smoother_put(s, (pa_usec_t) msec[u] * PA_USEC_PER_MSEC, (pa_usec_t) msec[u+1] * PA_USEC_PER_MSEC);
             printf("%i\t\t%i\n", msec[u],  msec[u+1]);
             u += 2;
+
+            pa_smoother_resume(s, (pa_usec_t) msec[u] * PA_USEC_PER_MSEC, TRUE);
         }
 
         printf("%llu\t%llu\n", (unsigned long long) (x/PA_USEC_PER_MSEC), (unsigned long long) (pa_smoother_get(s, x)/PA_USEC_PER_MSEC));

commit ce73e715c9c822beb797c023700c92bcc08464e7
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 02:46:38 2009 +0200

    introduce pa_{sink|source}_get_latency_within_thread()

diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index 73ad247..a0f0ea7 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -958,6 +958,32 @@ pa_usec_t pa_sink_get_latency(pa_sink *s) {
     return usec;
 }
 
+/* Called from IO thread */
+pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s) {
+    pa_usec_t usec = 0;
+    pa_msgobject *o;
+
+    pa_sink_assert_ref(s);
+    pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
+
+    /* The returned value is supposed to be in the time domain of the sound card! */
+
+    if (s->thread_info.state == PA_SINK_SUSPENDED)
+        return 0;
+
+    if (!(s->flags & PA_SINK_LATENCY))
+        return 0;
+
+    o = PA_MSGOBJECT(s);
+
+    /* We probably should make this a proper vtable callback instead of going through process_msg() */
+
+    if (o->process_msg(o, PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
+        return -1;
+
+    return usec;
+}
+
 /* Called from main thread */
 void pa_sink_update_flat_volume(pa_sink *s, pa_cvolume *new_volume) {
     pa_sink_input *i;
diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h
index 7d1e11e..634bf3e 100644
--- a/src/pulsecore/sink.h
+++ b/src/pulsecore/sink.h
@@ -295,4 +295,6 @@ void pa_sink_request_rewind(pa_sink*s, size_t nbytes);
 
 void pa_sink_invalidate_requested_latency(pa_sink *s);
 
+pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s);
+
 #endif
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index 1c3377b..252e23a 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -617,6 +617,32 @@ pa_usec_t pa_source_get_latency(pa_source *s) {
     return usec;
 }
 
+/* Called from IO thread */
+pa_usec_t pa_source_get_latency_within_thread(pa_source *s) {
+    pa_usec_t usec = 0;
+    pa_msgobject *o;
+
+    pa_source_assert_ref(s);
+    pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
+
+    /* The returned value is supposed to be in the time domain of the sound card! */
+
+    if (s->thread_info.state == PA_SOURCE_SUSPENDED)
+        return 0;
+
+    if (!(s->flags & PA_SOURCE_LATENCY))
+        return 0;
+
+    o = PA_MSGOBJECT(s);
+
+    /* We probably should make this a proper vtable callback instead of going through process_msg() */
+
+    if (o->process_msg(o, PA_SOURCE_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
+        return -1;
+
+    return usec;
+}
+
 /* Called from main thread */
 void pa_source_set_volume(pa_source *s, const pa_cvolume *volume) {
     pa_cvolume old_virtual_volume;
diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h
index 210f534..652783e 100644
--- a/src/pulsecore/source.h
+++ b/src/pulsecore/source.h
@@ -267,5 +267,6 @@ void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_laten
 /*** To be called exclusively by source output drivers, from IO context */
 
 void pa_source_invalidate_requested_latency(pa_source *s);
+pa_usec_t pa_source_get_latency_within_thread(pa_source *s);
 
 #endif

commit 7dafa87b68c59aeb93c7244b33d9dc9f6e614970
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 02:50:32 2009 +0200

    don't try to outsmart the transport

diff --git a/src/pulse/stream.c b/src/pulse/stream.c
index ff3644f..339a89e 100644
--- a/src/pulse/stream.c
+++ b/src/pulse/stream.c
@@ -380,14 +380,6 @@ static void check_smoother_status(pa_stream *s, pa_bool_t aposteriori, pa_bool_t
             x -= s->timing_info.transport_usec;
         else
             x += s->timing_info.transport_usec;
-
-        if (s->direction == PA_STREAM_PLAYBACK)
-            /* it takes a while until the pause/resume is actually
-             * audible */
-            x += s->timing_info.sink_usec;
-        else
-            /* Data froma  while back will be dropped */
-            x -= s->timing_info.source_usec;
     }
 
     if (s->suspended || s->corked || force_stop)

commit 14e11e4533ddd60413af2d33325d2b603262029b
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 02:59:02 2009 +0200

    Fix a couple of races in native protocol
    
    Also make sure we account for recording memblock that are currently 'on
    the fly' between the main and the IO thread.
    
    Also makes a couple of timing calls that were done in different calls
    in a single inter-thread call. That way there is a better guarantee that
    they match up.

diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index 30d68f3..59e5d80 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -86,7 +86,15 @@ typedef struct record_stream {
     pa_bool_t early_requests:1;
 
     pa_buffer_attr buffer_attr;
-    pa_usec_t source_latency;
+
+    pa_atomic_t on_the_fly;
+    pa_usec_t configured_source_latency;
+    size_t drop_initial;
+
+    /* Only updated after SOURCE_OUTPUT_MESSAGE_UPDATE_LATENCY */
+    size_t on_the_fly_snapshot;
+    pa_usec_t current_monitor_latency;
+    pa_usec_t current_source_latency;
 } record_stream;
 
 PA_DECLARE_CLASS(record_stream);
@@ -119,12 +127,14 @@ typedef struct playback_stream {
     uint32_t syncid;
 
     pa_atomic_t missing;
-    pa_usec_t sink_latency;
+    pa_usec_t configured_sink_latency;
     pa_buffer_attr buffer_attr;
 
     /* Only updated after SINK_INPUT_MESSAGE_UPDATE_LATENCY */
     int64_t read_index, write_index;
     size_t render_memblockq_length;
+    pa_usec_t current_sink_latency;
+    uint64_t playing_for, underrun_for;
 } playback_stream;
 
 PA_DECLARE_CLASS(playback_stream);
@@ -182,6 +192,10 @@ struct pa_native_protocol {
 };
 
 enum {
+    SOURCE_OUTPUT_MESSAGE_UPDATE_LATENCY = PA_SOURCE_OUTPUT_MESSAGE_MAX
+};
+
+enum {
     SINK_INPUT_MESSAGE_POST_DATA = PA_SINK_INPUT_MESSAGE_MAX, /* data from main loop to sink input */
     SINK_INPUT_MESSAGE_DRAIN, /* disabled prebuf, get playback started. */
     SINK_INPUT_MESSAGE_FLUSH,
@@ -230,6 +244,7 @@ static pa_usec_t source_output_get_latency_cb(pa_source_output *o);
 static void source_output_send_event_cb(pa_source_output *o, const char *event, pa_proplist *pl);
 
 static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offset, pa_memchunk *chunk);
+static int source_output_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offset, pa_memchunk *chunk);
 
 static void command_exit(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata);
 static void command_create_playback_stream(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata);
@@ -474,6 +489,10 @@ static int record_stream_process_msg(pa_msgobject *o, int code, void*userdata, i
 
         case RECORD_STREAM_MESSAGE_POST_DATA:
 
+            /* We try to keep up to date with how many bytes are
+             * currently on the fly */
+            pa_atomic_sub(&s->on_the_fly, chunk->length);
+
             if (pa_memblockq_push_align(s->memblockq, chunk) < 0) {
 /*                 pa_log_warn("Failed to push data into output queue."); */
                 return -1;
@@ -537,29 +556,29 @@ static void fix_record_buffer_attr_pre(record_stream *s) {
         /* Ok, the user didn't ask us to adjust the latency, hence we
          * don't */
 
-        source_usec = 0;
+        source_usec = (pa_usec_t) -1;
     }
 
-    if (source_usec > 0)
-        s->source_latency = pa_source_output_set_requested_latency(s->source_output, source_usec);
+    if (source_usec != (pa_usec_t) -1)
+        s->configured_source_latency = pa_source_output_set_requested_latency(s->source_output, source_usec);
     else
-        s->source_latency = 0;
+        s->configured_source_latency = 0;
 
     if (s->early_requests) {
 
         /* Ok, we didn't necessarily get what we were asking for, so
          * let's tell the user */
 
-        fragsize_usec = s->source_latency;
+        fragsize_usec = s->configured_source_latency;
 
     } else if (s->adjust_latency) {
 
         /* Now subtract what we actually got */
 
-        if (fragsize_usec >= s->source_latency*2)
-            fragsize_usec -= s->source_latency;
+        if (fragsize_usec >= s->configured_source_latency*2)
+            fragsize_usec -= s->configured_source_latency;
         else
-            fragsize_usec = s->source_latency;
+            fragsize_usec = s->configured_source_latency;
     }
 
     if (pa_usec_to_bytes(orig_fragsize_usec, &s->source_output->sample_spec) !=
@@ -645,7 +664,9 @@ static record_stream* record_stream_new(
     s->buffer_attr = *attr;
     s->adjust_latency = adjust_latency;
     s->early_requests = early_requests;
+    pa_atomic_store(&s->on_the_fly, 0);
 
+    s->source_output->parent.process_msg = source_output_process_msg;
     s->source_output->push = source_output_push_cb;
     s->source_output->kill = source_output_kill_cb;
     s->source_output->get_latency = source_output_get_latency_cb;
@@ -675,9 +696,9 @@ static record_stream* record_stream_new(
     pa_idxset_put(c->record_streams, s, &s->index);
 
     pa_log_info("Final latency %0.2f ms = %0.2f ms + %0.2f ms",
-                ((double) pa_bytes_to_usec(s->buffer_attr.fragsize, &source_output->sample_spec) + (double) s->source_latency) / PA_USEC_PER_MSEC,
+                ((double) pa_bytes_to_usec(s->buffer_attr.fragsize, &source_output->sample_spec) + (double) s->configured_source_latency) / PA_USEC_PER_MSEC,
                 (double) pa_bytes_to_usec(s->buffer_attr.fragsize, &source_output->sample_spec) / PA_USEC_PER_MSEC,
-                (double) s->source_latency / PA_USEC_PER_MSEC);
+                (double) s->configured_source_latency / PA_USEC_PER_MSEC);
 
     pa_source_output_put(s->source_output);
     return s;
@@ -817,7 +838,7 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata,
             pa_tagstruct_putu32(t, s->buffer_attr.tlength);
             pa_tagstruct_putu32(t, s->buffer_attr.prebuf);
             pa_tagstruct_putu32(t, s->buffer_attr.minreq);
-            pa_tagstruct_put_usec(t, s->sink_latency);
+            pa_tagstruct_put_usec(t, s->configured_sink_latency);
             pa_pstream_send_tagstruct(s->connection->pstream, t);
 
             break;
@@ -915,14 +936,14 @@ static void fix_playback_buffer_attr(playback_stream *s) {
         pa_log_debug("Traditional mode enabled, modifying sink usec only for compat with minreq.");
     }
 
-    s->sink_latency = pa_sink_input_set_requested_latency(s->sink_input, sink_usec);
+    s->configured_sink_latency = pa_sink_input_set_requested_latency(s->sink_input, sink_usec);
 
     if (s->early_requests) {
 
         /* Ok, we didn't necessarily get what we were asking for, so
          * let's tell the user */
 
-        minreq_usec = s->sink_latency;
+        minreq_usec = s->configured_sink_latency;
 
     } else if (s->adjust_latency) {
 
@@ -930,14 +951,14 @@ static void fix_playback_buffer_attr(playback_stream *s) {
          * let's subtract from what we asked for for the remaining
          * buffer space */
 
-        if (tlength_usec >= s->sink_latency)
-            tlength_usec -= s->sink_latency;
+        if (tlength_usec >= s->configured_sink_latency)
+            tlength_usec -= s->configured_sink_latency;
     }
 
     /* FIXME: This is actually larger than necessary, since not all of
      * the sink latency is actually rewritable. */
-    if (tlength_usec < s->sink_latency + 2*minreq_usec)
-        tlength_usec = s->sink_latency + 2*minreq_usec;
+    if (tlength_usec < s->configured_sink_latency + 2*minreq_usec)
+        tlength_usec = s->configured_sink_latency + 2*minreq_usec;
 
     if (pa_usec_to_bytes_round_up(orig_tlength_usec, &s->sink_input->sample_spec) !=
         pa_usec_to_bytes_round_up(tlength_usec, &s->sink_input->sample_spec))
@@ -1083,10 +1104,10 @@ static playback_stream* playback_stream_new(
     pa_idxset_put(c->output_streams, s, &s->index);
 
     pa_log_info("Final latency %0.2f ms = %0.2f ms + 2*%0.2f ms + %0.2f ms",
-                ((double) pa_bytes_to_usec(s->buffer_attr.tlength, &sink_input->sample_spec) + (double) s->sink_latency) / PA_USEC_PER_MSEC,
+                ((double) pa_bytes_to_usec(s->buffer_attr.tlength, &sink_input->sample_spec) + (double) s->configured_sink_latency) / PA_USEC_PER_MSEC,
                 (double) pa_bytes_to_usec(s->buffer_attr.tlength-s->buffer_attr.minreq*2, &sink_input->sample_spec) / PA_USEC_PER_MSEC,
                 (double) pa_bytes_to_usec(s->buffer_attr.minreq, &sink_input->sample_spec) / PA_USEC_PER_MSEC,
-                (double) s->sink_latency / PA_USEC_PER_MSEC);
+                (double) s->configured_sink_latency / PA_USEC_PER_MSEC);
 
     pa_sink_input_put(s->sink_input);
     return s;
@@ -1387,10 +1408,14 @@ static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int
         }
 
         case SINK_INPUT_MESSAGE_UPDATE_LATENCY:
-
+            /* Atomically get a snapshot of all timing parameters... */
             s->read_index = pa_memblockq_get_read_index(s->memblockq);
             s->write_index = pa_memblockq_get_write_index(s->memblockq);
             s->render_memblockq_length = pa_memblockq_get_length(s->sink_input->thread_info.render_memblockq);
+            s->current_sink_latency = pa_sink_get_latency_within_thread(s->sink_input->sink);
+            s->underrun_for = s->sink_input->thread_info.underrun_for;
+            s->playing_for = s->sink_input->thread_info.playing_for;
+
             return 0;
 
         case PA_SINK_INPUT_MESSAGE_SET_STATE: {
@@ -1603,7 +1628,7 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
         pa_tagstruct_putu32(t, s->buffer_attr.tlength);
         pa_tagstruct_putu32(t, s->buffer_attr.prebuf);
         pa_tagstruct_putu32(t, s->buffer_attr.minreq);
-        pa_tagstruct_put_usec(t, s->sink_latency);
+        pa_tagstruct_put_usec(t, s->configured_sink_latency);
     }
 
     pa_pstream_send_tagstruct(s->connection->pstream, t);
@@ -1612,6 +1637,27 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
 /*** source_output callbacks ***/
 
 /* Called from thread context */
+static int source_output_process_msg(pa_msgobject *_o, int code, void *userdata, int64_t offset, pa_memchunk *chunk) {
+    pa_source_output *o = PA_SOURCE_OUTPUT(_o);
+    record_stream *s;
+
+    pa_source_output_assert_ref(o);
+    s = RECORD_STREAM(o->userdata);
+    record_stream_assert_ref(s);
+
+    switch (code) {
+        case SOURCE_OUTPUT_MESSAGE_UPDATE_LATENCY:
+            /* Atomically get a snapshot of all timing parameters... */
+            s->current_monitor_latency = o->source->monitor_of ? pa_sink_get_latency_within_thread(o->source->monitor_of) : 0;
+            s->current_source_latency = pa_source_get_latency_within_thread(o->source);
+            s->on_the_fly_snapshot = pa_atomic_load(&s->on_the_fly);
+            return 0;
+    }
+
+    return pa_source_output_process_msg(_o, code, userdata, offset, chunk);
+}
+
+/* Called from thread context */
 static void source_output_push_cb(pa_source_output *o, const pa_memchunk *chunk) {
     record_stream *s;
 
@@ -1620,6 +1666,7 @@ static void source_output_push_cb(pa_source_output *o, const pa_memchunk *chunk)
     record_stream_assert_ref(s);
     pa_assert(chunk);
 
+    pa_atomic_add(&s->on_the_fly, chunk->length);
     pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), RECORD_STREAM_MESSAGE_POST_DATA, NULL, 0, chunk, NULL);
 }
 
@@ -1715,7 +1762,7 @@ static void source_output_moving_cb(pa_source_output *o, pa_source *dest) {
     if (s->connection->version >= 13) {
         pa_tagstruct_putu32(t, s->buffer_attr.maxlength);
         pa_tagstruct_putu32(t, s->buffer_attr.fragsize);
-        pa_tagstruct_put_usec(t, s->source_latency);
+        pa_tagstruct_put_usec(t, s->configured_source_latency);
     }
 
     pa_pstream_send_tagstruct(s->connection->pstream, t);
@@ -1938,7 +1985,7 @@ static void command_create_playback_stream(pa_pdispatch *pd, uint32_t command, u
     }
 
     if (c->version >= 13)
-        pa_tagstruct_put_usec(reply, s->sink_latency);
+        pa_tagstruct_put_usec(reply, s->configured_sink_latency);
 
     pa_pstream_send_tagstruct(c->pstream, reply);
 }
@@ -2185,7 +2232,7 @@ static void command_create_record_stream(pa_pdispatch *pd, uint32_t command, uin
     }
 
     if (c->version >= 13)
-        pa_tagstruct_put_usec(reply, s->source_latency);
+        pa_tagstruct_put_usec(reply, s->configured_source_latency);
 
     pa_pstream_send_tagstruct(c->pstream, reply);
 }
@@ -2472,7 +2519,6 @@ static void command_get_playback_latency(pa_pdispatch *pd, uint32_t command, uin
     playback_stream *s;
     struct timeval tv, now;
     uint32_t idx;
-    pa_usec_t latency;
 
     pa_native_connection_assert_ref(c);
     pa_assert(t);
@@ -2488,25 +2534,27 @@ static void command_get_playback_latency(pa_pdispatch *pd, uint32_t command, uin
     s = pa_idxset_get_by_index(c->output_streams, idx);
     CHECK_VALIDITY(c->pstream, s, tag, PA_ERR_NOENTITY);
     CHECK_VALIDITY(c->pstream, playback_stream_isinstance(s), tag, PA_ERR_NOENTITY);
-    CHECK_VALIDITY(c->pstream, pa_asyncmsgq_send(s->sink_input->sink->asyncmsgq, PA_MSGOBJECT(s->sink_input), SINK_INPUT_MESSAGE_UPDATE_LATENCY, s, 0, NULL) == 0, tag, PA_ERR_NOENTITY)
-
-    reply = reply_new(tag);
 
-    latency = pa_sink_get_latency(s->sink_input->sink);
-    latency += pa_bytes_to_usec(s->render_memblockq_length, &s->sink_input->sample_spec);
-
-    pa_tagstruct_put_usec(reply, latency);
+    /* Get an atomic snapshot of all timing parameters */
+    pa_assert_se(pa_asyncmsgq_send(s->sink_input->sink->asyncmsgq, PA_MSGOBJECT(s->sink_input), SINK_INPUT_MESSAGE_UPDATE_LATENCY, s, 0, NULL) == 0);
 
+    reply = reply_new(tag);
+    pa_tagstruct_put_usec(reply,
+                          s->current_sink_latency +
+                          pa_bytes_to_usec(s->render_memblockq_length, &s->sink_input->sample_spec));
     pa_tagstruct_put_usec(reply, 0);
-    pa_tagstruct_put_boolean(reply, s->sink_input->thread_info.playing_for > 0);
+    pa_tagstruct_put_boolean(reply,
+                             s->playing_for > 0 &&
+                             pa_sink_get_state(s->sink_input->sink) == PA_SINK_RUNNING &&
+                             pa_sink_input_get_state(s->sink_input) == PA_SINK_INPUT_RUNNING);
     pa_tagstruct_put_timeval(reply, &tv);
     pa_tagstruct_put_timeval(reply, pa_gettimeofday(&now));
     pa_tagstruct_puts64(reply, s->write_index);
     pa_tagstruct_puts64(reply, s->read_index);
 
     if (c->version >= 13) {
-        pa_tagstruct_putu64(reply, s->sink_input->thread_info.underrun_for);
-        pa_tagstruct_putu64(reply, s->sink_input->thread_info.playing_for);
+        pa_tagstruct_putu64(reply, s->underrun_for);
+        pa_tagstruct_putu64(reply, s->playing_for);
     }
 
     pa_pstream_send_tagstruct(c->pstream, reply);
@@ -2533,10 +2581,17 @@ static void command_get_record_latency(pa_pdispatch *pd, uint32_t command, uint3
     s = pa_idxset_get_by_index(c->record_streams, idx);
     CHECK_VALIDITY(c->pstream, s, tag, PA_ERR_NOENTITY);
 
+    /* Get an atomic snapshot of all timing parameters */
+    pa_assert_se(pa_asyncmsgq_send(s->source_output->source->asyncmsgq, PA_MSGOBJECT(s->source_output), SOURCE_OUTPUT_MESSAGE_UPDATE_LATENCY, s, 0, NULL) == 0);
+
     reply = reply_new(tag);
-    pa_tagstruct_put_usec(reply, s->source_output->source->monitor_of ? pa_sink_get_latency(s->source_output->source->monitor_of) : 0);
-    pa_tagstruct_put_usec(reply, pa_source_get_latency(s->source_output->source));
-    pa_tagstruct_put_boolean(reply, pa_source_get_state(s->source_output->source) == PA_SOURCE_RUNNING);
+    pa_tagstruct_put_usec(reply, s->current_monitor_latency);
+    pa_tagstruct_put_usec(reply,
+                          s->current_source_latency +
+                          pa_bytes_to_usec(s->on_the_fly_snapshot, &s->source_output->sample_spec));
+    pa_tagstruct_put_boolean(reply,
+                             pa_source_get_state(s->source_output->source) == PA_SOURCE_RUNNING &&
+                             pa_source_output_get_state(s->source_output) == PA_SOURCE_OUTPUT_RUNNING);
     pa_tagstruct_put_timeval(reply, &tv);
     pa_tagstruct_put_timeval(reply, pa_gettimeofday(&now));
     pa_tagstruct_puts64(reply, pa_memblockq_get_write_index(s->memblockq));
@@ -3514,7 +3569,7 @@ static void command_set_stream_buffer_attr(pa_pdispatch *pd, uint32_t command, u
         pa_tagstruct_putu32(reply, s->buffer_attr.minreq);
 
         if (c->version >= 13)
-            pa_tagstruct_put_usec(reply, s->sink_latency);
+            pa_tagstruct_put_usec(reply, s->configured_sink_latency);
 
     } else {
         record_stream *s;
@@ -3550,7 +3605,7 @@ static void command_set_stream_buffer_attr(pa_pdispatch *pd, uint32_t command, u
         pa_tagstruct_putu32(reply, s->buffer_attr.fragsize);
 
         if (c->version >= 13)
-            pa_tagstruct_put_usec(reply, s->source_latency);
+            pa_tagstruct_put_usec(reply, s->configured_source_latency);
     }
 
     pa_pstream_send_tagstruct(c->pstream, reply);

commit 923c5bc5bfba15399649ebc50807c27765102e6e
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 03:04:22 2009 +0200

    make it easy to disable interpolation in the interpolation test tool

diff --git a/src/tests/interpol-test.c b/src/tests/interpol-test.c
index c2c3efe..c103a49 100644
--- a/src/tests/interpol-test.c
+++ b/src/tests/interpol-test.c
@@ -36,6 +36,8 @@
 
 #include <pulsecore/thread.h>
 
+#define INTERPOLATE
+
 static pa_context *context = NULL;
 static pa_stream *stream = NULL;
 static pa_mainloop_api *mainloop_api = NULL;
@@ -58,6 +60,15 @@ static void stream_read_cb(pa_stream *p, size_t nbytes, void *userdata) {
     }
 }
 
+static void stream_latency_cb(pa_stream *p, void *userdata) {
+#ifndef INTERPOLATE
+    pa_operation *o;
+
+    o = pa_stream_update_timing_info(p, NULL, NULL);
+    pa_operation_unref(o);
+#endif
+}
+
 /* This is called whenever the context status changes */
 static void context_state_callback(pa_context *c, void *userdata) {
     assert(c);
@@ -69,6 +80,7 @@ static void context_state_callback(pa_context *c, void *userdata) {
             break;
 
         case PA_CONTEXT_READY: {
+            pa_stream_flags_t flags = PA_STREAM_AUTO_TIMING_UPDATE;
 
             static const pa_sample_spec ss = {
                 .format = PA_SAMPLE_S16LE,
@@ -76,19 +88,25 @@ static void context_state_callback(pa_context *c, void *userdata) {
                 .channels = 2
             };
 
+#ifdef INTERPOLATE
+            flags |= PA_STREAM_INTERPOLATE_TIMING;
+#endif
+
             fprintf(stderr, "Connection established.\n");
 
             stream = pa_stream_new(c, "interpol-test", &ss, NULL);
             assert(stream);
 
             if (playback) {
-                pa_assert_se(pa_stream_connect_playback(stream, NULL, NULL, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, NULL, NULL) == 0);
+                pa_assert_se(pa_stream_connect_playback(stream, NULL, NULL, flags, NULL, NULL) == 0);
                 pa_stream_set_write_callback(stream, stream_write_cb, NULL);
             } else {
-                pa_assert_se(pa_stream_connect_record(stream, NULL, NULL, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE) == 0);
+                pa_assert_se(pa_stream_connect_record(stream, NULL, NULL, flags) == 0);
                 pa_stream_set_read_callback(stream, stream_read_cb, NULL);
             }
 
+            pa_stream_set_latency_update_callback(stream, stream_latency_cb, NULL);
+
             break;
         }
 
@@ -109,6 +127,8 @@ int main(int argc, char *argv[]) {
     pa_usec_t old_t = 0, old_rtc = 0;
     pa_bool_t corked = FALSE;
 
+    pa_log_set_level(PA_LOG_DEBUG);
+
     playback = argc <= 1 || !pa_streq(argv[1], "-r");
 
     /* Set up a new main loop */

commit 6ba3333030fa44fe43e3795be8af7473113f6109
Merge: 923c5bc ca39fa2
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 03:05:51 2009 +0200

    Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio


commit 9416cdf63adc1d37b946eef025cbf506398426a2
Merge: 6ba3333 82d1301
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 03:15:00 2009 +0200

    Merge commit 'origin/master-tx'

diff --cc po/fi.po
index 8c2bead,fd49a33..3909c2c
--- a/po/fi.po
+++ b/po/fi.po
@@@ -7,10 -7,11 +7,9 @@@ msgid "
  msgstr ""
  "Project-Id-Version: git trunk\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2009-04-04 02:28+0200\n"
- "PO-Revision-Date: 2009-02-13 08:57+0200\n"
- "Last-Translator: Timo Jyrinki <timo.jyrinki at iki.fi>\n"
 -"POT-Creation-Date: 2009-03-19 17:58+0100\n"
 -"PO-Revision-Date: 2009-04-05 01:09+0300\n"
+ "Last-Translator: Ville-Pekka Vainio <vpivaini at cs.helsinki.fi>\n"
  "Language-Team: Finnish <laatu at lokalisointi.org>\n"
+ "Language: fi\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=utf-8\n"
  "Content-Transfer-Encoding: 8bit\n"
@@@ -57,9 -60,9 +58,9 @@@ msgstr "Digitaalinen tilaääni 5.1 (IE
  
  #: ../src/modules/alsa/alsa-util.c:603
  msgid "Analog Surround 7.1"
- msgstr ""
+ msgstr "Analoginen tilaääni 7.1"
  
 -#: ../src/modules/alsa/alsa-util.c:1602
 +#: ../src/modules/alsa/alsa-util.c:1609
  #, c-format
  msgid ""
  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@@ -67,8 -70,11 +68,11 @@@
  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
  "to the ALSA developers."
  msgstr ""
+ "snd_pcm_avail() palautti poikkeuksellisen suuren arvon: %lu tavua (%lu ms).\n"
+ "Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa ”%s”. Ilmoita tästä "
+ "ongelmasta ALSA-kehittäjille."
  
 -#: ../src/modules/alsa/alsa-util.c:1642
 +#: ../src/modules/alsa/alsa-util.c:1649
  #, c-format
  msgid ""
  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@@ -76,8 -82,12 +80,12 @@@
  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
  "to the ALSA developers."
  msgstr ""
+ "snd_pcm_delay() palautti poikkeuksellisen suuren arvon: %li tavua (%s%lu "
+ "ms).\n"
+ "Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa ”%s”. Ilmoita tästä "
+ "ongelmasta ALSA-kehittäjille."
  
 -#: ../src/modules/alsa/alsa-util.c:1688
 +#: ../src/modules/alsa/alsa-util.c:1695
  #, c-format
  msgid ""
  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@@ -85,15 -95,18 +93,18 @@@
  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
  "to the ALSA developers."
  msgstr ""
+ "snd_pcm_mmap_begin() palautti poikkeuksellisen suuren arvon: %lu tavua (%lu "
+ "ms).\n"
+ "Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa ”%s”. Ilmoita tästä "
+ "ongelmasta ALSA-kehittäjille."
  
 -#: ../src/pulsecore/sink.c:1965
 +#: ../src/pulsecore/sink.c:2035
- #, fuzzy
  msgid "Internal Audio"
- msgstr "Sisäinen virhe"
+ msgstr "Sisäinen äänentoisto"
  
 -#: ../src/pulsecore/sink.c:1971
 +#: ../src/pulsecore/sink.c:2041
  msgid "Modem"
- msgstr ""
+ msgstr "Modeemi"
  
  #: ../src/daemon/ltdl-bind-now.c:124
  msgid "Failed to find original lt_dlopen loader."
@@@ -159,106 -172,106 +170,106 @@@ msgstr "Tunnistautumista ei saada: %s
  #: ../src/daemon/polkit.c:148
  #, c-format
  msgid "PolicyKit responded with '%s'"
- msgstr ""
+ msgstr "PolicyKit vastasi ”%s”"
  
 -#: ../src/daemon/main.c:134
 +#: ../src/daemon/main.c:137
  #, c-format
  msgid "Got signal %s."
- msgstr ""
+ msgstr "Saatiin signaali %s."
  
 -#: ../src/daemon/main.c:161
 +#: ../src/daemon/main.c:164
  msgid "Exiting."
  msgstr "Poistutaan."
  
 -#: ../src/daemon/main.c:179
 +#: ../src/daemon/main.c:182
  #, c-format
  msgid "Failed to find user '%s'."
- msgstr ""
+ msgstr "Käyttäjää ”%s” ei löydetty."
  
 -#: ../src/daemon/main.c:184
 +#: ../src/daemon/main.c:187
  #, c-format
  msgid "Failed to find group '%s'."
- msgstr ""
+ msgstr "Ryhmää ”%s” ei löydetty."
  
 -#: ../src/daemon/main.c:188
 +#: ../src/daemon/main.c:191
  #, c-format
  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
- msgstr ""
+ msgstr "Löydettiin käyttäjä ”%s” (UID %lu) ja ryhmä ”%s” (GID %lu)."
  
 -#: ../src/daemon/main.c:193
 +#: ../src/daemon/main.c:196
  #, c-format
  msgid "GID of user '%s' and of group '%s' don't match."
- msgstr ""
+ msgstr "Käyttäjän ”%s” ja ryhmän ”%s” GID:t eivät vastaa toisiaan."
  
 -#: ../src/daemon/main.c:198
 +#: ../src/daemon/main.c:201
  #, c-format
  msgid "Home directory of user '%s' is not '%s', ignoring."
- msgstr ""
+ msgstr "Käyttäjän ”%s” kotihakemisto ei ole ”%s”, ohitetaan."
  
 -#: ../src/daemon/main.c:201 ../src/daemon/main.c:206
 +#: ../src/daemon/main.c:204 ../src/daemon/main.c:209
  #, c-format
  msgid "Failed to create '%s': %s"
- msgstr ""
+ msgstr "Hakemiston ”%s” luominen epäonnistui: %s"
  
 -#: ../src/daemon/main.c:213
 +#: ../src/daemon/main.c:216
  #, c-format
  msgid "Failed to change group list: %s"
- msgstr ""
+ msgstr "Ryhmäluettelon vaihtaminen epäonnistui: %s"
  
 -#: ../src/daemon/main.c:229
 +#: ../src/daemon/main.c:232
  #, c-format
  msgid "Failed to change GID: %s"
- msgstr ""
+ msgstr "GID:n vaihtaminen epäonnistui: %s"
  
 -#: ../src/daemon/main.c:245
 +#: ../src/daemon/main.c:248
  #, c-format
  msgid "Failed to change UID: %s"
- msgstr ""
+ msgstr "UID:n vaihtaminen epäonnistui: %s"
  
 -#: ../src/daemon/main.c:259
 +#: ../src/daemon/main.c:262
  msgid "Successfully dropped root privileges."
- msgstr ""
+ msgstr "Root-oikeuksista luopuminen onnistui."
  
 -#: ../src/daemon/main.c:267
 +#: ../src/daemon/main.c:270
  msgid "System wide mode unsupported on this platform."
- msgstr ""
+ msgstr "Järjestelmänlaajuista tilaa ei tueta tällä alustalla."
  
 -#: ../src/daemon/main.c:285
 +#: ../src/daemon/main.c:288
  #, c-format
  msgid "setrlimit(%s, (%u, %u)) failed: %s"
- msgstr ""
+ msgstr "setrlimit(%s, (%u, %u)) epäonnistui: %s"
  
 -#: ../src/daemon/main.c:434
 +#: ../src/daemon/main.c:462
  msgid "Failed to parse command line."
- msgstr ""
+ msgstr "Komentorivin jäsentäminen epäonnistui."
  
 -#: ../src/daemon/main.c:458
 +#: ../src/daemon/main.c:486
  #, c-format
  msgid "We're in the group '%s', allowing high-priority scheduling."
- msgstr ""
+ msgstr "Ollaan ryhmässä ”%s”, korkean prioriteetin ajoitus on sallittua."
  
 -#: ../src/daemon/main.c:465
 +#: ../src/daemon/main.c:493
  #, c-format
  msgid "We're in the group '%s', allowing real-time scheduling."
- msgstr ""
+ msgstr "Ollaan ryhmässä ”%s”, tosiaikainen vuorottaminen on sallittua."
  
 -#: ../src/daemon/main.c:473
 +#: ../src/daemon/main.c:501
  msgid "PolicyKit grants us acquire-high-priority privilege."
- msgstr ""
+ msgstr "PolicyKit myöntää acquire-high-priority-oikeuden."
  
 -#: ../src/daemon/main.c:476
 +#: ../src/daemon/main.c:504
  msgid "PolicyKit refuses acquire-high-priority privilege."
- msgstr ""
+ msgstr "PolicyKit ei myönnä acquire-high-priority-oikeutta."
  
 -#: ../src/daemon/main.c:481
 +#: ../src/daemon/main.c:509
  msgid "PolicyKit grants us acquire-real-time privilege."
- msgstr ""
+ msgstr "PolicyKit myöntää acquire-real-time-oikeuden."
  
 -#: ../src/daemon/main.c:484
 +#: ../src/daemon/main.c:512
  msgid "PolicyKit refuses acquire-real-time privilege."
- msgstr ""
+ msgstr "PolicyKit ei myönnä acquire-real-time-oikeutta."
  
 -#: ../src/daemon/main.c:513
 +#: ../src/daemon/main.c:541
  #, c-format
  msgid ""
  "Called SUID root and real-time and/or high-priority scheduling was requested "
@@@ -270,26 -283,36 +281,36 @@@
  "appropriate PolicyKit privileges, or become a member of '%s', or increase "
  "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
  msgstr ""
+ "Ohjelmaa kutsuttiin SUID-rootina ja reaaliaikaista ja/tai korkean "
+ "prioriteetin ajoitusta pyydettiin asetuksissa. Tarvittavat oikeudet "
+ "kuitenkin puuttuvat:\n"
+ "Ei olla ryhmässä ”%s”, PolicyKit ei myönnä pyydettyjä oikeuksia ja "
+ "RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja ei ole kasvatettu.\n"
+ "Hanki riittävät PolicyKit-oikeudet, liity ryhmään ”%s” tai kasvata tämän "
+ "käyttäjän RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja reaaliaikaisen ja/tai "
+ "korkean prioriteetin ajoituksen ottamiseksi käyttöön."
  
 -#: ../src/daemon/main.c:538
 +#: ../src/daemon/main.c:566
  msgid ""
  "High-priority scheduling enabled in configuration but not allowed by policy."
  msgstr ""
+ "Korkean prioriteetin ajoitus otettu käyttöön asetuksissa, mutta käytännöt "
+ "eivät salli sitä."
  
 -#: ../src/daemon/main.c:567
 +#: ../src/daemon/main.c:595
  msgid "Successfully increased RLIMIT_RTPRIO"
- msgstr ""
+ msgstr "RLIMIT_RTPRIO:n kasvatus onnistui"
  
 -#: ../src/daemon/main.c:570
 +#: ../src/daemon/main.c:598
  #, c-format
  msgid "RLIMIT_RTPRIO failed: %s"
- msgstr ""
+ msgstr "RLIMIT_RTPRIO epäonnistui: %s"
  
 -#: ../src/daemon/main.c:577
 +#: ../src/daemon/main.c:605
  msgid "Giving up CAP_NICE"
- msgstr ""
+ msgstr "Luovutaan CAP_NICE:stä"
  
 -#: ../src/daemon/main.c:584
 +#: ../src/daemon/main.c:612
  msgid ""
  "Real-time scheduling enabled in configuration but not allowed by policy."
  msgstr ""
@@@ -322,19 -345,22 +343,22 @@@ msgstr "
  msgid "Root privileges required."
  msgstr "Pääkäyttäjän (root) oikeudet vaaditaan."
  
 -#: ../src/daemon/main.c:682
 +#: ../src/daemon/main.c:710
  msgid "--start not supported for system instances."
- msgstr ""
+ msgstr "--start-valitsinta ei tueta järjestelmätilassa."
  
 -#: ../src/daemon/main.c:687
 +#: ../src/daemon/main.c:715
  msgid "Running in system mode, but --disallow-exit not set!"
  msgstr ""
+ "Suoritetaan järjestelmätilassa, mutta --disallow-exit ei ole asetettuna!"
  
 -#: ../src/daemon/main.c:690
 +#: ../src/daemon/main.c:718
  msgid "Running in system mode, but --disallow-module-loading not set!"
  msgstr ""
+ "Suoritetaan järjestelmätilassa, mutta -disallow-module-loading ei ole "
+ "asetettuna!"
  
 -#: ../src/daemon/main.c:693
 +#: ../src/daemon/main.c:721
  msgid "Running in system mode, forcibly disabling SHM mode!"
  msgstr ""
  "Suoritetaan järjestelmätilassa, otetaan SHM-tila pakotetusti pois käytöstä."
@@@ -345,26 -371,26 +369,26 @@@ msgstr "
  "Suoritetaan järjestelmätilassa, otetaan poistumisen joutenoloaika "
  "pakotetusti pois käytöstä."
  
 -#: ../src/daemon/main.c:725
 +#: ../src/daemon/main.c:753
  msgid "Failed to acquire stdio."
- msgstr ""
+ msgstr "stdio:n saaminen epäonnistui."
  
 -#: ../src/daemon/main.c:731
 +#: ../src/daemon/main.c:759
  #, c-format
  msgid "pipe failed: %s"
- msgstr ""
+ msgstr "putki epäonnistui: %s"
  
 -#: ../src/daemon/main.c:736
 +#: ../src/daemon/main.c:764
  #, c-format
  msgid "fork() failed: %s"
- msgstr ""
+ msgstr "fork() epäonnistui: %s"
  
 -#: ../src/daemon/main.c:750
 +#: ../src/daemon/main.c:778
  #, c-format
  msgid "read() failed: %s"
- msgstr ""
+ msgstr "read() epäonnistui: %s"
  
 -#: ../src/daemon/main.c:756
 +#: ../src/daemon/main.c:784
  msgid "Daemon startup failed."
  msgstr "Taustaprosessin käynnistys epäonnistui."
  
@@@ -459,11 -473,11 +483,11 @@@ msgstr "Käytetään tilahakemistoa %s.
  msgid "Running in system mode: %s"
  msgstr "Suoritetaan järjestelmätilassa: %s"
  
 -#: ../src/daemon/main.c:886
 +#: ../src/daemon/main.c:922
  msgid "pa_pid_file_create() failed."
- msgstr ""
+ msgstr "pa_pid_file_create() epäonnistui."
  
 -#: ../src/daemon/main.c:898
 +#: ../src/daemon/main.c:934
  msgid "Fresh high-resolution timers available! Bon appetit!"
  msgstr "Korkean tarkkuuden ajastimet käytettävissä."
  
@@@ -475,11 -489,11 +499,11 @@@ msgstr "
  "Hei, ytimesi on kehno! Linux korkean tarkkuuden ajastimien tuella on hyvin "
  "suositeltava!"
  
 -#: ../src/daemon/main.c:912
 +#: ../src/daemon/main.c:948
  msgid "pa_core_new() failed."
- msgstr ""
+ msgstr "pa_core_new() epäonnistui."
  
 -#: ../src/daemon/main.c:974
 +#: ../src/daemon/main.c:1010
  msgid "Failed to initialize daemon."
  msgstr "Taustaprosessin alustus epäonnistui."
  

commit ecba42bd302ee5737adc462437abc42160827e8c
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sun Apr 5 03:16:04 2009 +0200

    run make po-update

diff --git a/po/ca.po b/po/ca.po
index d3b9788..d6cfe26 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -19,7 +19,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2009-03-18 21:47+0100\n"
 "Last-Translator: Agustí Grau <fletxa at gmail.com>\n"
 "Language-Team: Catalan <fedora at softcatala.net>\n"
@@ -113,12 +113,12 @@ msgstr ""
 "informeu d'aquest\n"
 "incident als desenvolupadors d'ALSA."
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "S'ha produït un error intern"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2440,6 +2440,61 @@ msgstr "S'estan utilitzant les especificacions de mostra '%s'\n"
 msgid "Cannot access autospawn lock."
 msgstr "No s'ha pogut accedir al bloqueig d'autospawn."
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+#, fuzzy
+msgid "PulseAudio Sound Server"
+msgstr "Sistema de so PulseAudio"
+
 #~ msgid ""
 #~ "Called SUID root and real-time/high-priority scheduling was requested in "
 #~ "the configuration. However, we lack the necessary priviliges:\n"
diff --git a/po/cs.po b/po/cs.po
index b3b607a..e02c08e 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2008-10-19 22:31+0200\n"
 "Last-Translator: Petr Kovar <pknbe at volny.cz>\n"
 "Language-Team: Czech <translation-team-cs at lists.sourceforge.net>\n"
@@ -88,12 +88,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Vnitřní chyba"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2237,6 +2237,60 @@ msgstr "s n"
 msgid "Cannot access autospawn lock."
 msgstr "přístup."
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #, fuzzy
 #~ msgid ""
 #~ "Called SUID root and real-time and/or high-priority scheduling was "
diff --git a/po/de.po b/po/de.po
index 860447c..8f9fbc6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2009-02-19 12:04+0100\n"
 "Last-Translator: Fabian Affolter <fab at fedoraproject.org>\n"
 "Language-Team: German <fedora-trans-de at redhat.com>\n"
@@ -95,12 +95,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Interner Fehler"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2347,6 +2347,60 @@ msgstr "Sampling-Angabe '%s' wird benutzt\n"
 msgid "Cannot access autospawn lock."
 msgstr "Fehler beim Zugriff auf Autostart -Sperre."
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #, fuzzy
 #~ msgid ""
 #~ "Called SUID root and real-time and/or high-priority scheduling was "
diff --git a/po/el.po b/po/el.po
index 8671bbf..aa07424 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: el\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2008-08-22 19:40+0300\n"
 "Last-Translator: Dimitris Glezos <dimitris at glezos.com>\n"
 "Language-Team: Greek <fedora-trans-el at redhat.com>\n"
@@ -87,11 +87,11 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 msgid "Internal Audio"
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2054,3 +2054,57 @@ msgstr ""
 #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr ""
+
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
diff --git a/po/es.po b/po/es.po
index e55f1c6..6a943dc 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PulseAudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2009-03-31 09:32-0300\n"
 "Last-Translator: Domingo Becker <domingobecker at gmail.com>\n"
 "Language-Team: Fedora Spanish <fedora-trans-es at redhat.com>\n"
@@ -100,11 +100,11 @@ msgstr ""
 "Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
 "informe ésto a los desarrolladores de ALSA."
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 msgid "Internal Audio"
 msgstr "Audio Interno"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr "Módem"
 
@@ -2408,6 +2408,61 @@ msgstr "Utilizando especificaciones de muestra '%s'\n"
 msgid "Cannot access autospawn lock."
 msgstr "No se puede acceder al candado de autogeneración."
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+#, fuzzy
+msgid "PulseAudio Sound Server"
+msgstr "Sistema de Sonido PulseAudio"
+
 #, fuzzy
 #~ msgid ""
 #~ "Called SUID root and real-time and/or high-priority scheduling was "
diff --git a/po/fi.po b/po/fi.po
index 3909c2c..8ccbb68 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,12 +7,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git trunk\n"
 "Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "Last-Translator: Ville-Pekka Vainio <vpivaini at cs.helsinki.fi>\n"
 "Language-Team: Finnish <laatu at lokalisointi.org>\n"
-"Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Virtaal 0.3.1\n"
 
@@ -98,11 +99,11 @@ msgstr ""
 "Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa ”%s”. Ilmoita tästä "
 "ongelmasta ALSA-kehittäjille."
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 msgid "Internal Audio"
 msgstr "Sisäinen äänentoisto"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr "Modeemi"
 
@@ -604,41 +605,50 @@ msgstr ""
 "  -h, --help                            Näytä tämä ohje\n"
 "      --version                         Näytä versio\n"
 "      --dump-conf                       Tulosta oletusasetukset\n"
-"      --dump-modules                    Tulosta saatavilla olevien moduulien\n"
+"      --dump-modules                    Tulosta saatavilla olevien "
+"moduulien\n"
 "                                        luettelo\n"
-"      --dump-resample-methods           Tulosta saatavilla olevat "
-"                                        uudelleennäytteistystavat\n"
-"      --cleanup-shm                     Puhdista vanhentuneet jaetun muistin "
-"                                        segmentit\n"
-"      --start                           Käynnistä taustaprosessi, jos se ei "
-"                                        ole käynnissä\n"
+"      --dump-resample-methods           Tulosta saatavilla "
+"olevat                                         uudelleennäytteistystavat\n"
+"      --cleanup-shm                     Puhdista vanhentuneet jaetun "
+"muistin                                         segmentit\n"
+"      --start                           Käynnistä taustaprosessi, jos se "
+"ei                                         ole käynnissä\n"
 "  -k  --kill                            Tapa suoritettava taustaprosessi\n"
-"      --check                           Tarkista onko taustaprosessi "
-"                                        suoritettavana (palauttaa vain\n"
+"      --check                           Tarkista onko "
+"taustaprosessi                                         suoritettavana "
+"(palauttaa vain\n"
 "                                        lopetuskoodin)\n"
 "\n"
 "VALITSIMET:\n"
 "      --system[=BOOL]                   Suorita järjestelmänlaajuisena\n"
-"  -D, --daemonize[=BOOL]                Vaihda taustaprosessiksi "
-"                                        käynnistyksen jälkeen\n"
+"  -D, --daemonize[=BOOL]                Vaihda "
+"taustaprosessiksi                                         käynnistyksen "
+"jälkeen\n"
 "      --fail[=BOOL]                     Lopeta kun käynnistys epäonnistuu\n"
 "      --high-priority[=BOOL]            Yritä asettaa korkea nice-taso\n"
-"                                        (käytettävissä vain root-käyttäjänä, "
-"                                        SUIDilla tai kohotetulla\n"
+"                                        (käytettävissä vain root-"
+"käyttäjänä,                                         SUIDilla tai "
+"kohotetulla\n"
 "                                        RLIMIT_NICE-arvolla)\n"
-"      --realtime[=BOOL]                 Yritä asettaa reaaliaikainen ajoitus\n"
-"                                        (käytettävissä vain root-käyttäjänä, "
-"                                        SUIDilla tai kohotetulla\n"
+"      --realtime[=BOOL]                 Yritä asettaa reaaliaikainen "
+"ajoitus\n"
+"                                        (käytettävissä vain root-"
+"käyttäjänä,                                         SUIDilla tai "
+"kohotetulla\n"
 "                                        RLIMIT_RTPRIO-arvolla)\n"
 "      --disallow-module-loading[=BOOL]  Kiellä käyttäjän pyytämä moduulin\n"
 "                                        lataus tai poisto käynnistyksen\n"
 "                                        jälkeen\n"
-"      --disallow-exit[=BOOL]            Kiellä käyttäjän pyytämä lopettaminen\n"
+"      --disallow-exit[=BOOL]            Kiellä käyttäjän pyytämä "
+"lopettaminen\n"
 "      --exit-idle-time=SECS             Lopeta taustaprosessi, kun se on\n"
-"                                        toimettomana ja tämä aika on kulunut\n"
+"                                        toimettomana ja tämä aika on "
+"kulunut\n"
 "      --module-idle-time=SECS           Poista automaattisesti ladatut\n"
 "                                        moduulit, kun taustaprosessi on\n"
-"                                        toimettomana ja tämä aika on kulunut\n"
+"                                        toimettomana ja tämä aika on "
+"kulunut\n"
 "      --scache-idle-time=SECS           Unload autoloaded samples when idle "
 "and\n"
 "                                        this time passed\n"
@@ -2264,6 +2274,60 @@ msgstr "Käytetään näytemäärittelyä \"%s\"\n"
 msgid "Cannot access autospawn lock."
 msgstr ""
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #~ msgid "muted"
 #~ msgstr "vaimennettu"
 
diff --git a/po/fr.po b/po/fr.po
index da5d621..9ca9c27 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio trunk\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2008-10-18 20:34+0200\n"
 "Last-Translator: Pablo Martin-Gomez <pablo.martin-gomez at laposte.net>\n"
 "Language-Team: Français <fedora-trans-fr at redhat.com>\n"
@@ -90,12 +90,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Erreur interne"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2397,6 +2397,60 @@ msgstr "Utilisation de la spécification de l'échantillon « %s »\n"
 msgid "Cannot access autospawn lock."
 msgstr "Impossible d'accèder au verrou autonome."
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #, fuzzy
 #~ msgid ""
 #~ "Called SUID root and real-time and/or high-priority scheduling was "
diff --git a/po/it.po b/po/it.po
index 14d2d87..5fe1a56 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2009-04-01 19:18+0200\n"
 "Last-Translator: Milo Casagrande <milo at ubuntu.com>\n"
 "Language-Team: Italiano <tp at lists.linux.it>\n"
@@ -97,11 +97,11 @@ msgstr ""
 "Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "
 "questo problema agli sviluppatori ALSA."
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 msgid "Internal Audio"
 msgstr "Audio interno"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr "Modem"
 
@@ -2458,3 +2458,58 @@ msgstr "In uso la specifica di campionamento \"%s\"\n"
 #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr "Impossibile accedere al lock di autospawn."
+
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+#, fuzzy
+msgid "PulseAudio Sound Server"
+msgstr "Sistema sonoro PulseAudio"
diff --git a/po/pa.po b/po/pa.po
index 11e2fbf..2c5025a 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio.master-tx\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2008-12-24 09:37+0530\n"
 "Last-Translator: Amanpreet Singh Alam <aalam at users.sf.net>\n"
 "Language-Team: Punjabi <punjabi-l10n at users.sf.net>\n"
@@ -88,12 +88,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "ਅੰਦਰੂਨੀ ਗਲਤੀ"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2057,6 +2057,60 @@ msgstr ""
 msgid "Cannot access autospawn lock."
 msgstr ""
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #~ msgid "pa_stream_drop() failed: %s\n"
 #~ msgstr "pa_stream_drop() ਫੇਲ੍ਹ ਹੈ: %s\n"
 
diff --git a/po/pl.po b/po/pl.po
index ca2d094..4594012 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2009-03-05 16:17+0100\n"
 "Last-Translator: Piotr DrÄ…g <piotrdrag at gmail.com>\n"
 "Language-Team: Polish <pl at li.org>\n"
@@ -93,11 +93,11 @@ msgstr ""
 "Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten "
 "problem programistom ALSA."
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 msgid "Internal Audio"
 msgstr "Wewnętrzny dźwięk"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr "Modem"
 
@@ -2382,3 +2382,58 @@ msgstr "Używanie przykładowej specyfikacji \"%s\"\n"
 #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr "Nie można uzyskać dostępu do blokady automatycznego wznawiania."
+
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+#, fuzzy
+msgid "PulseAudio Sound Server"
+msgstr "System dźwięku PulseAudio"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index eafab31..427a4a9 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2008-11-21 01:21-0300\n"
 "Last-Translator: Henrique (LonelySpooky) Junior <lspooky at fedoraproject.org>\n"
 "Language-Team: Brazilian-Portuguese <fedora-trans-pt_br at redhat.com>\n"
@@ -89,12 +89,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Erro interno"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2347,6 +2347,60 @@ msgstr "Usando a especificação da amostragem '%s'\n"
 msgid "Cannot access autospawn lock."
 msgstr "Não foi possível acessar a trava de autogeração."
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #, fuzzy
 #~ msgid ""
 #~ "Called SUID root and real-time and/or high-priority scheduling was "
diff --git a/po/sv.po b/po/sv.po
index 92d9059..d731155 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2008-09-05 18:24+0100\n"
 "Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
@@ -86,12 +86,12 @@ msgid ""
 "to the ALSA developers."
 msgstr ""
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 #, fuzzy
 msgid "Internal Audio"
 msgstr "Internt fel"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr ""
 
@@ -2071,6 +2071,60 @@ msgstr ""
 msgid "Cannot access autospawn lock."
 msgstr ""
 
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+msgid "PulseAudio Sound Server"
+msgstr ""
+
 #, fuzzy
 #~ msgid "--log-time boolean argument"
 #~ msgstr "--disallow-exit booleskt argument"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 3294d41..ee081e8 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pulseaudio.master-tx\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-04 02:28+0200\n"
+"POT-Creation-Date: 2009-04-05 03:15+0200\n"
 "PO-Revision-Date: 2009-04-01 21:36+1000\n"
 "Last-Translator: Leah Liu <lliu at redhat.com>\n"
 "Language-Team: Simplified Chinese <zh at li.org>\n"
@@ -97,11 +97,11 @@ msgstr ""
 "snd_pcm_mmap_begin() 返回的值非常大:%lu 字节(%lu ms)。\n"
 "很可能是 ALSA 驱动程序 '%s' 中的 bug。请向 ALSA 开发者举报这个问题。"
 
-#: ../src/pulsecore/sink.c:2035
+#: ../src/pulsecore/sink.c:2061
 msgid "Internal Audio"
 msgstr "内部音频"
 
-#: ../src/pulsecore/sink.c:2041
+#: ../src/pulsecore/sink.c:2067
 msgid "Modem"
 msgstr "调制解调器"
 
@@ -2314,3 +2314,58 @@ msgstr "正在使用采样规格'%s'\n"
 #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
 msgid "Cannot access autospawn lock."
 msgstr "不能访问autospawn锁。"
+
+#: ../src/modules/alsa/alsa-sink.c:393 ../src/modules/alsa/alsa-sink.c:535
+#, c-format
+msgid ""
+"ALSA woke us up to write new data to the device, but there was actually "
+"nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/alsa-source.c:377 ../src/modules/alsa/alsa-source.c:510
+#, c-format
+msgid ""
+"ALSA woke us up to read new data from the device, but there was actually "
+"nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
+"to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
+"returned 0 or another value < min_avail."
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:114
+#, c-format
+msgid "Output %s + Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:117
+#, c-format
+msgid "Output %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:121
+#, c-format
+msgid "Input %s"
+msgstr ""
+
+#: ../src/modules/alsa/module-alsa-card.c:170
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1864
+msgid "Off"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1834
+msgid "High Fidelity Playback (A2DP)"
+msgstr ""
+
+#: ../src/modules/bluetooth/module-bluetooth-device.c:1849
+msgid "Telephony Duplex (HSP/HFP)"
+msgstr ""
+
+#: ../src/modules/reserve-wrap.c:125
+#, fuzzy
+msgid "PulseAudio Sound Server"
+msgstr "PulseAudio 声音系统"

-- 
hooks/post-receive
PulseAudio Sound Server



More information about the pulseaudio-commits mailing list