<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general">
    <title>gmane.comp.audio.pulseaudio.general</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13338"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13337"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13336"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13335"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13334"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13333"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13332"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13331"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13330"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13329"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13328"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13327"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13326"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13325"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13324"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13323"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13322"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13321"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13320"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13319"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13338">
    <title>Re: [PATCH] add set-log-target command forpacmd</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13338</link>
    <description>&lt;pre&gt;2012/5/25 Dalleau, Frederic &amp;lt;frederic.dalleau&amp;lt; at &amp;gt;intel.com&amp;gt;

Nice catch! I missed this one.

new path attached.
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
&lt;/pre&gt;</description>
    <dc:creator>rong deng</dc:creator>
    <dc:date>2012-05-25T08:25:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13337">
    <title>Re: [PATCH] add set-log-target command forpacmd</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13337</link>
    <description>&lt;pre&gt;Hi Rong Deng,


This helps to change log target on the fly.
You don't need to copy and truncate file_path as a truncated file path is
useless !
Instead you can use directly m+5. If the path is too long, open() will
simply fail.

Regards,
Frédéric
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
&lt;/pre&gt;</description>
    <dc:creator>Dalleau, Frederic</dc:creator>
    <dc:date>2012-05-25T08:15:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13336">
    <title>[PATCH] add set-log-target command for pacmd</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13336</link>
    <description>&lt;pre&gt;Please review!

This helps to change log target on the fly.
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
&lt;/pre&gt;</description>
    <dc:creator>rong deng</dc:creator>
    <dc:date>2012-05-25T06:47:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13335">
    <title>[PATCH] use pa_streq instead of plain strcmpin daemon-conf.c</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13335</link>
    <description>&lt;pre&gt;Please review and hopefully got accepted. :)

I did a simple grep and saw there are lots of other usages of strcmp, but
let's translate it bit by bit...

--deng
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
&lt;/pre&gt;</description>
    <dc:creator>rong deng</dc:creator>
    <dc:date>2012-05-25T02:22:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13334">
    <title>VLC + pulseaudio issues</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13334</link>
    <description>&lt;pre&gt;I've been trying to figure out a problem I'm having with continuous
dopplering of VLC when using pulseaudio for sound.  There is no
dopplering with use of pure ALSA output.  I'd greatly appreciate any
assistance as I've been unable to resolve this on my own after
extensive google digging.

Here's the behavior (from vlc -vvv):

[0xb3f59e98] pulse audio output warning: too late by 87060 us
[0xb3f59e98] pulse audio output debug: changed sample rate to 48092 Hz
[0xb4d1f458] main decoder debug: removing module "subsdec"
[0xb4d1f458] main decoder debug: killing decoder fourcc `subt', 0 PES in FIFO
[0xb3f59e98] pulse audio output warning: too late by 99491 us
[0xb3f59e98] pulse audio output debug: changed sample rate to 48138 Hz
[0xb3f59e98] pulse audio output warning: too late by 113518 us
[0xb3f59e98] pulse audio output debug: changed sample rate to 48184 Hz
[0xb3f59e98] pulse audio output warning: too late by 116756 us
[0xb3f59e98] pulse audio output debug: changed sample rate to 48230 Hz
[0xb3f59e98] pulse audi&lt;/pre&gt;</description>
    <dc:creator>Drew</dc:creator>
    <dc:date>2012-05-24T18:08:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13333">
    <title>Re: User volume vs. Application volume</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13333</link>
    <description>&lt;pre&gt;
I feel like it'd be useful in any context where the application wants
to control its volume. For example, ducking audio during a video game
when voice chat occurs; or A/V production software with volume
controls for the individual elements. Giving the application the
ability to say, "Cut this stream's volume in half compared to the rest
of the streams" without also overriding the user's preferences seems
nice.

Your bug description basically sounds like exactly what I had in mind.


A simple, application-side volume control would probably be pretty
easy. It would be just another value to multiply against the user
volume value before mixing.

On the other hand, I find PA's API to be incredibly user-hostile as it
is. I'm afraid to make it even worse by adding more functions without
having the familiarity with PulseAudio to make it mesh sanely.

In addition, dealing with the rewind issues you presented is probably
more work than I'd be willing to do on evenings.

Andrew
&lt;/pre&gt;</description>
    <dc:creator>Andrew Eikum</dc:creator>
    <dc:date>2012-05-24T16:48:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13332">
    <title>[PATCH 1/2] module-pipe: whitespace and logoutput cleanup</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13332</link>
    <description>&lt;pre&gt;From: Peter Meerwald &amp;lt;p.meerwald&amp;lt; at &amp;gt;bct-electronic.com&amp;gt;

---
 src/modules/module-pipe-sink.c   |    4 ++--
 src/modules/module-pipe-source.c |   10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c
index 91e01f9..fa0a080 100644
--- a/src/modules/module-pipe-sink.c
+++ b/src/modules/module-pipe-sink.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,7 +221,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; finish:
     pa_log_debug("Thread shutting down");
 }
 
-int pa__init(pa_module*m) {
+int pa__init(pa_module *m) {
     struct userdata *u;
     struct stat st;
     pa_sample_spec ss;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -338,7 +338,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int pa__get_n_used(pa_module *m) {
     return pa_sink_linked_by(u-&amp;gt;sink);
 }
 
-void pa__done(pa_module*m) {
+void pa__done(pa_module *m) {
     struct userdata *u;
 
     pa_assert(m);
diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c
index 3335907..eb531d8 100644
--- a/src/modules/module-pipe-source.c
+++ b/src/modules/module-pipe-source.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -208,7 +208,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; finish:
     p&lt;/pre&gt;</description>
    <dc:creator>Peter Meerwald</dc:creator>
    <dc:date>2012-05-24T15:52:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13331">
    <title>[PATCH 2/2] module-pipe: check return value ofmkfifo()</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13331</link>
    <description>&lt;pre&gt;From: Peter Meerwald &amp;lt;p.meerwald&amp;lt; at &amp;gt;bct-electronic.com&amp;gt;

---
 src/modules/module-pipe-sink.c   |    5 ++++-
 src/modules/module-pipe-source.c |    5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c
index fa0a080..ef18fad 100644
--- a/src/modules/module-pipe-sink.c
+++ b/src/modules/module-pipe-sink.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -255,7 +255,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int pa__init(pa_module *m) {
 
     u-&amp;gt;filename = pa_runtime_path(pa_modargs_get_value(ma, "file", DEFAULT_FILE_NAME));
 
-    mkfifo(u-&amp;gt;filename, 0666);
+    if (mkfifo(u-&amp;gt;filename, 0666) &amp;lt; 0) {
+        pa_log("mkfifo('%s'): %s", u-&amp;gt;filename, pa_cstrerror(errno));
+        goto fail;
+    }
     if ((u-&amp;gt;fd = pa_open_cloexec(u-&amp;gt;filename, O_RDWR, 0)) &amp;lt; 0) {
         pa_log("open('%s'): %s", u-&amp;gt;filename, pa_cstrerror(errno));
         goto fail;
diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c
index eb531d8..7a7dfb2 100644
--- a/src/modules/module-pipe-source.c
+++ b/src/modules/m&lt;/pre&gt;</description>
    <dc:creator>Peter Meerwald</dc:creator>
    <dc:date>2012-05-24T15:52:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13330">
    <title>module-pipe-source,sink</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13330</link>
    <description>&lt;pre&gt;Hello,

I have a couple of issues with module-pipe:

1. module-pipe-source and module-pipe-sink do not check the return value 
ofmkfifo(), hence PulseAudio happily opens the same pipe several times

I think PulseAudio should check if mkfifo() fails to create the FIFO file 
and abort -- see suggested patch in next mail

2. documentation at 
http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules#module-pipe-sink
incorrectly states that the FIFO of module-pipe-sink defaults to 
/tmp/music.output, in fact it defaults to /tmp/pulse-xxxxxxxxx/fifo_output

3. module-pipe-source defaults to /tmp/music.input (as per documentation), 
but this is inconsistent with module-pipe-sink

thoughts?

regards, p.

&lt;/pre&gt;</description>
    <dc:creator>Peter Meerwald</dc:creator>
    <dc:date>2012-05-24T15:46:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13329">
    <title>Re: User volume vs. Application volume</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13329</link>
    <description>&lt;pre&gt;
I agree that Pulseaudio should provide facilities for fading. We could
insist that applications do such processing themselves (like is
currently required), but the problem is that it's a non-trivial thing
with large buffers when the fading should begin immediately upon user
input - it requires the application to understand the concept of
"rewinding" (going back in time and rewriting already written data). I
think fading is so common feature that it makes sense to save the
duplicate work of implementing the complex audio rewriting logic in
every application by doing it in Pulseaudio.

I don't think using an "application volume" as in Windows is the right
solution for fades, though. If it works so that the application sends
volume change commands at a high rate, it will cause rewinding at the
server end at the same rate, which is unnecessarily wasteful and may
possibly cause even user-visible performance problems. I think
applications should just tell when a fade should start and how long it
should last.

Tha&lt;/pre&gt;</description>
    <dc:creator>Tanu Kaskinen</dc:creator>
    <dc:date>2012-05-24T15:33:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13328">
    <title>User volume vs. Application volume</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13328</link>
    <description>&lt;pre&gt;Hi folks,

I've been thinking about this issue for a while and I'd like to share
my thoughts and receive opinions back.

While developing a PulseAudio driver for Wine, I ran into the issue of
implementing the volume control interfaces. Microsoft's APIs allow the
application to make calls that set the stream volume. However, the
Windows 7 mixer /also/ allows the user to set stream volumes. These
two volumes are entirely independent of each other.

I think this makes complete sense. For example, you might have a music
player which implements a crossfade between tracks. The obvious way to
implement this to open two streams, and as the first stream reaches
its last 5 seconds, you fade its volume down and simultaneously start
and increase the volume for the second stream. The user can then set
the music player's volume at 50% relative to their chat program, and
everything works as expected.

Crossfading in this manner works fine in PulseAudio, but it conflicts
with the user's volume settings. When the music playe&lt;/pre&gt;</description>
    <dc:creator>Andrew Eikum</dc:creator>
    <dc:date>2012-05-24T14:28:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13327">
    <title>Re: [PATCH] add log category</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13327</link>
    <description>&lt;pre&gt;Hi all,

This is more like a RFC patch, it can't even compile well... However, I'd
like to gather some information here on the mailing list to make sure that
I'm on the right track and my work would be liked by others.

This 'category' model is mainly after the design of gstreamer. So we have a
'pa_log_category_t' type to show what kind of category it's, and in its
category, we can specify a threshold and the color to display.  (look at
the changes in these two files src/pulsecore/log.h and src/pulsecore/log.c
for more details.)

Now the main problem to me is that the usage is not so developer-friendly.
Any place where we use pa_log related functions, I have to specify the
macro PA_LOG_CATEGORY_DEFAULT. That's almost everywhere... But yes, it
should only be written for only and after that other developers should be
OK with that.

Any comments are welcome!
2012/5/24 Deng Zhengrong &amp;lt;dzrongg&amp;lt; at &amp;gt;gmail.com&amp;gt;

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss&amp;lt; at &amp;gt;lists.free&lt;/pre&gt;</description>
    <dc:creator>rong deng</dc:creator>
    <dc:date>2012-05-24T13:53:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13326">
    <title>[PATCH] add log category</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13326</link>
    <description>&lt;pre&gt;---
 src/modules/module-loopback.c  |    5 ++
 src/pulse/channelmap.c         |    2 +
 src/pulse/client-conf.c        |    2 +
 src/pulse/context.c            |    2 +
 src/pulse/ext-device-manager.c |    2 +
 src/pulse/ext-device-restore.c |    2 +
 src/pulse/ext-stream-restore.c |    2 +
 src/pulse/format.c             |    2 +
 src/pulse/introspect.c         |    2 +
 src/pulse/mainloop-api.c       |    2 +
 src/pulse/mainloop-signal.c    |    2 +
 src/pulse/mainloop.c           |    2 +
 src/pulse/operation.c          |    2 +
 src/pulse/proplist.c           |    2 +
 src/pulse/sample.c             |    2 +
 src/pulse/scache.c             |    2 +
 src/pulse/stream.c             |    2 +
 src/pulse/subscribe.c          |    2 +
 src/pulse/thread-mainloop.c    |    2 +
 src/pulse/timeval.c            |    2 +
 src/pulse/utf8.c               |    2 +
 src/pulse/util.c               |    2 +
 src/pulse/volume.c             |    2 +
 src/pulse/xmalloc.c            |    2 +
 src/pulsecore/authkey.c        | &lt;/pre&gt;</description>
    <dc:creator>Deng Zhengrong</dc:creator>
    <dc:date>2012-05-24T13:46:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13325">
    <title>Re: About My Blog Space</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13325</link>
    <description>&lt;pre&gt;2012/5/22 Colin Guthrie &amp;lt;gmane&amp;lt; at &amp;gt;colin.guthr.ie&amp;gt;

OK. I'll send you one if I find a suitable one.


My nick name on IRC is dzrongg, but due to the network issues here, I might
not be on IRC all day long.
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
&lt;/pre&gt;</description>
    <dc:creator>rong deng</dc:creator>
    <dc:date>2012-05-24T13:45:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13324">
    <title>Re: [PATCH 2/2] core: Add debug prints for state changes in sinks and sink-inputs.</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13324</link>
    <description>&lt;pre&gt;
In general I think this is a good idea, but I'm missing corresponding 
changes to sources and source outputs...?


You might want it in the other order, like this? Makes it more 
consistent with how you do sink-inputs.

       if (s-&amp;gt;state == state)
           return 0;
       pa_log_debug("%s: Switching state from %s to %s", s-&amp;gt;name, 
pa_sink_state_to_string(s-&amp;gt;state), pa_sink_state_to_string(state));



Having an intermediate variable here would be clearer:
   newstate = PA_PTR_TO_UINT(userdata)
...and then use that variable in all relevant places.




&lt;/pre&gt;</description>
    <dc:creator>David Henningsson</dc:creator>
    <dc:date>2012-05-24T11:23:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13323">
    <title>Re: [PATCH 2/2] modules, pulse, core: React to failing pa_memblockq_push calls.</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13323</link>
    <description>&lt;pre&gt;
Just to point out, this assumption is not strictly true: maxlength for 
some buffers are very settable by the client, although most clients do 
not, I believe it's a way for the client to prefer underruns over higher 
latencies.

Hopefully all those buffers fall under the FIXME conditions below? 
Remember, there are flags that make the client buffers affect other 
buffers as well - PA_STREAM_ADJUST_LATENCY comes to mind, but there 
might be more.


Also, we don't want to crash PulseAudio on broken/misbehaving clients. 
Is there a risk that if the client reads or writes half a sample, that 
the first patch will cause PulseAudio to crash?



I've talked about over-usage of assertions earlier, and maybe this is 
one of those cases. Sometimes it seems we accept a work flow as follows:

1) We discover that the return value is not checked, and after various 
degrees of thinking it through, we add an assertion because we can't 
figure out how it could fail without things being very utterly broken 
somewhere else.
&lt;/pre&gt;</description>
    <dc:creator>David Henningsson</dc:creator>
    <dc:date>2012-05-24T11:14:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13322">
    <title>[PATCH 2/2] core: Add debug prints for statechanges in sinks and sink-inputs.</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13322</link>
    <description>&lt;pre&gt;---
 src/pulsecore/sink-input.c |    5 +++++
 src/pulsecore/sink.c       |    6 ++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index f6f93b8..a45cc8c 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1758,6 +1758,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void pa_sink_input_set_state_within_thread(pa_sink_input *i, pa_sink_input_state
     if (state == i-&amp;gt;thread_info.state)
         return;
 
+    pa_log_debug("About to switch sink-input #%u's (on %s) thread_info.state from %s to %s",
+                 i-&amp;gt;index, i-&amp;gt;sink-&amp;gt;name,
+                 pa_sink_input_state_to_string(i-&amp;gt;thread_info.state),
+                 pa_sink_input_state_to_string(state));
+
     if ((state == PA_SINK_INPUT_DRAINED || state == PA_SINK_INPUT_RUNNING) &amp;amp;&amp;amp;
         !(i-&amp;gt;thread_info.state == PA_SINK_INPUT_DRAINED || i-&amp;gt;thread_info.state != PA_SINK_INPUT_RUNNING))
         pa_atomic_store(&amp;amp;i-&amp;gt;thread_info.drained, 1);
diff --git a/src/pulsecore/sink.c b/src/pulsecor&lt;/pre&gt;</description>
    <dc:creator>Jarkko Suontausta</dc:creator>
    <dc:date>2012-05-24T10:43:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13321">
    <title>[PATCH 1/2] core: Add functions that returnthe logical name of the state of sinks and sink inputs.</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13321</link>
    <description>&lt;pre&gt;---
 src/pulsecore/sink-input.h |   12 ++++++++++++
 src/pulsecore/sink.h       |   13 +++++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
index af2177a..e46c77c 100644
--- a/src/pulsecore/sink-input.h
+++ b/src/pulsecore/sink-input.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,9 +42,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef enum pa_sink_input_state {
     PA_SINK_INPUT_RUNNING,      /*&amp;lt; The stream is alive and kicking */
     PA_SINK_INPUT_CORKED,       /*&amp;lt; The stream was corked on user request */
     PA_SINK_INPUT_UNLINKED      /*&amp;lt; The stream is dead */
+    /* NOTE: if new states are added, remember to update pa_sink_input_state_to_string function as well */
     /* FIXME: we need a state for MOVING here */
 } pa_sink_input_state_t;
 
+static inline const char* pa_sink_input_state_to_string(pa_sink_input_state_t x) {
+    switch(x) {
+        case PA_SINK_INPUT_INIT:      return "INIT";
+        case PA_SINK_INPUT_DRAINED:   return "DRAINED";
+        case PA_SINK_INPUT_RUNNING:   retur&lt;/pre&gt;</description>
    <dc:creator>Jarkko Suontausta</dc:creator>
    <dc:date>2012-05-24T10:43:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13320">
    <title>[PATCH 0/2] core: Add debug prints for statechanges in sinks and sink-inputs.</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13320</link>
    <description>&lt;pre&gt;These two patches add state change debug prints to sinks and sink-inputs.

Jarkko Suontausta (2):
  core: Add functions that return the logical name of the state of
    sinks and sink inputs.
  core: Add debug prints for state changes in sinks and sink-inputs.

 src/pulsecore/sink-input.c |    5 +++++
 src/pulsecore/sink-input.h |   12 ++++++++++++
 src/pulsecore/sink.c       |    6 ++++++
 src/pulsecore/sink.h       |   13 +++++++++++++
 4 files changed, 36 insertions(+), 0 deletions(-)
&lt;/pre&gt;</description>
    <dc:creator>Jarkko Suontausta</dc:creator>
    <dc:date>2012-05-24T10:43:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13319">
    <title>Re: [PATCH 0/3] Unloading modules by name</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13319</link>
    <description>&lt;pre&gt;
I gave them a quick read through and they all looked good to me!

&lt;/pre&gt;</description>
    <dc:creator>David Henningsson</dc:creator>
    <dc:date>2012-05-24T10:27:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13318">
    <title>Re: [PATCH 0/2] modules, pulse,core:Reactto failing pa_memblockq_push calls.</title>
    <link>http://permalink.gmane.org/gmane.comp.audio.pulseaudio.general/13318</link>
    <description>&lt;pre&gt;
To clarify, that review is for an earlier version of the patch, so
please don't get confused when seeing code that doesn't match what
Jarkko posted on the mailing list.

&lt;/pre&gt;</description>
    <dc:creator>Tanu Kaskinen</dc:creator>
    <dc:date>2012-05-24T09:26:52</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.audio.pulseaudio.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.audio.pulseaudio.general</link>
  </textinput>
</rdf:RDF>

