[pulseaudio-discuss] [PATCH v2] thread-posix: remove duplicate code for setting thread name

2011-08-10 Thread Lu Guanqun
According to the principle of DRY (don't repeat yourself), remove the code for
setting thread name in thread-posix.c.

Signed-off-by: Lu Guanqun 
---
 src/pulsecore/thread-posix.c |   20 ++--
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/pulsecore/thread-posix.c b/src/pulsecore/thread-posix.c
index 3f4ae5c..9a8c51b 100644
--- a/src/pulsecore/thread-posix.c
+++ b/src/pulsecore/thread-posix.c
@@ -65,15 +65,19 @@ static void thread_free_cb(void *p) {
 
 PA_STATIC_TLS_DECLARE(current_thread, thread_free_cb);
 
+static void set_thread_name(const char *name) {
+#ifdef __linux__
+prctl(PR_SET_NAME, name);
+#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
+pthread_setname_np(name);
+#endif
+}
+
 static void* internal_thread_func(void *userdata) {
 pa_thread *t = userdata;
 pa_assert(t);
 
-#ifdef __linux__
-prctl(PR_SET_NAME, t->name);
-#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
-pthread_setname_np(t->name);
-#endif
+set_thread_name(t->name);
 
 t->id = pthread_self();
 
@@ -175,11 +179,7 @@ void pa_thread_set_name(pa_thread *t, const char *name) {
 pa_xfree(t->name);
 t->name = pa_xstrdup(name);
 
-#ifdef __linux__
-prctl(PR_SET_NAME, name);
-#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
-pthread_setname_np(name);
-#endif
+set_thread_name(name);
 }
 
 const char *pa_thread_get_name(pa_thread *t) {

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH 1/2] thread-posix: remove duplicate code for setting thread name

2011-08-10 Thread Lu Guanqun
On Wed, Aug 10, 2011 at 11:42:03PM +0800, Maarten Bosmans wrote:
> 2011/8/10 Lu Guanqun :
> > According to the principle of DRY (don't repeat yourself), remove the code 
> > for
> > setting thread name in thread-posix.c.
> >
> > Signed-off-by: Lu Guanqun 
> > ---
> >  src/pulsecore/thread-posix.c |   20 ++--
> >  1 files changed, 10 insertions(+), 10 deletions(-)
> >
> > diff --git a/src/pulsecore/thread-posix.c b/src/pulsecore/thread-posix.c
> > index 3f4ae5c..81ae98d 100644
> > --- a/src/pulsecore/thread-posix.c
> > +++ b/src/pulsecore/thread-posix.c
> > @@ -65,15 +65,19 @@ static void thread_free_cb(void *p) {
> >
> >  PA_STATIC_TLS_DECLARE(current_thread, thread_free_cb);
> >
> > +static void pa_thread_set_name_raw(const char *name) {
> 
> We generally do not prefix internal functions with pa_.\
> See http://pulseaudio.org/wiki/CodingStyle, #7.

Thanks for pointing this out. Will resend it.

-- 
guanqun
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] Automatic muting of multiple applications

2011-08-10 Thread Jason Taylor
>
> There's a project called "Ear Candy" which implements similar
> functionality. It's a stand-alone python app which fades the volume of
> applications in and out based on certain criteria. Unfortunately it
> doesn't seem to be active anymore, and the author notes that the
> functionality should ideally be added to PulseAudio.
>

Indeed it should.. the only reason I haven't done it is my lack of c ninja
skills


> So my question is, would people be interested in such a feature in
> PulseAudio, probably as a module? Do you see any apparent problems
> with having this functionality?
>

It would be awesome...

A couple of things

* A lot of apps are now correctly adding media roles to there pa SinkInputs

* Its already be stated that apps *should* obey the cork events... but most
dont, a work around was attempted by faking the multimedia keys to the
apps.. which frankly didn't work that well.

* A better cork work around would be to use the MEPIS2 dbus interface (
http://www.mpris.org/2.1/spec/index.html) to pause apps. Most music/video
apps these days support this interface (thanks to the ubuntu sound menu)

* That would just leave the flash plugin issue... flash cant be corked? and
of course you still will have no idea what kind of sound is coming from the
browser (music/video/phone). In Earcandy I just treated browsers as a Video
role, but I dont think theres a one size fits all answer here..

* Earcandy used the window stack to determine active client in a role.. ie
the highest window with a client role of music got to be heard

* Apps that can't be paused can always be muted...

Cheers

Jason Taylor


>
>
> Best regards,
>
> Johannes
> ___
> pulseaudio-discuss mailing list
> pulseaudio-discuss@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>



-- 
"Weekends don't count unless you spend them doing something completely
pointless. " - Calven
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Paul Fox
pierre-louis wrote:
 > >  > Have you played with the "prebuf" field? It defines the amount of
 > > buffering
 > >  > before playback starts. By default it is set to the tlength size,
 > > that may
 > >  > explain your 2s wait.
 > > 
 > > i don't think so.  the 2s happens at the end of playback, not the
 > > start.
 > > the trac ticket i referenced explains it pretty well.  (but to answer
 > > your
 > > question, yes, i played with it.)
 > 
 > Quite frankly I am not sure what the problem is, even after reading the bug
 > description.
 > 
 > In your test file, you have a single stream open. If you write sequentially
 > multiple tones, they will be played one after the other. There cannot be any
 > issues with synchronization here, things are serial by construction.
 > And if you want your program to exit quickly, then you should use
 > pa_simple_flush, otherwise you will always have to wait for the buffered
 > data to be played out.
 > 
 > Indeed pa_simple_drain has a delay, but I fail to see how it's a blocking
 > point.

pa_play -s somehost tone1.wav
pa_play -s somehost tone2.wav
pa_play -s somehost tone3.wav

the three tones will be separated by 2.2 second gaps of silence.

paul
=-
 paul fox, p...@foxharp.boston.ma.us (arlington, ma, where it's 72.1 degrees)
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Pierre-Louis Bossart
>  > Have you played with the "prebuf" field? It defines the amount of
> buffering
>  > before playback starts. By default it is set to the tlength size,
> that may
>  > explain your 2s wait.
> 
> i don't think so.  the 2s happens at the end of playback, not the
> start.
> the trac ticket i referenced explains it pretty well.  (but to answer
> your
> question, yes, i played with it.)

Quite frankly I am not sure what the problem is, even after reading the bug
description.

In your test file, you have a single stream open. If you write sequentially
multiple tones, they will be played one after the other. There cannot be any
issues with synchronization here, things are serial by construction.
And if you want your program to exit quickly, then you should use
pa_simple_flush, otherwise you will always have to wait for the buffered
data to be played out.

Indeed pa_simple_drain has a delay, but I fail to see how it's a blocking
point.
-Pierre

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Paul Fox
pierre-louis wrote:
 > >  > The 2s delay is likely related to the amount of audio that is
 > > buffered
 > >  > by default.
 > > 
 > > i've modified the pacat-simple.c example to let me play with the
 > > pa_buffer_attr passed to pa_simple_new, but can't seem to find a
 > > combination that avoids the 2s wait.
 > 
 > Have you played with the "prebuf" field? It defines the amount of buffering
 > before playback starts. By default it is set to the tlength size, that may
 > explain your 2s wait.

i don't think so.  the 2s happens at the end of playback, not the start.
the trac ticket i referenced explains it pretty well.  (but to answer your
question, yes, i played with it.)

paul
=-
 paul fox, p...@foxharp.boston.ma.us (arlington, ma, where it's 69.4 degrees)
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Pierre-Louis Bossart
>  > The 2s delay is likely related to the amount of audio that is
> buffered
>  > by default.
> 
> i've modified the pacat-simple.c example to let me play with the
> pa_buffer_attr passed to pa_simple_new, but can't seem to find a
> combination that avoids the 2s wait.

Have you played with the "prebuf" field? It defines the amount of buffering
before playback starts. By default it is set to the tlength size, that may
explain your 2s wait.
-Pierre

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Paul Fox
lu wrote:
 > Hi,
 > 
 > On Wed, Aug 10, 2011 at 09:47:47PM +0800, Paul Fox wrote:
 > > colin wrote:
 > >  > 'Twas brillig, and Paul Fox at 08/08/11 15:21 did gyre and gimble:
 > >  ...
 > >  > > but this:
 > >  > > paplay -s server one.wav
 > >  > > paplay -s server two.wav
 > >  > > will result in a delay of over 2 seconds between "one" and "two". 
 > >  ...
 > >  > 
 > >  > This is likely related to the drain. In order to be 100% sure that the
 > >  > data is no longer needed (as it may be needed by rewind buffers) we have
 > >  > to wait.
 > >  > 
 > >  > There are a few bug reports about this kind of thing in e.g. the simple
 > >  > protocol, but I'm not sure we can solve it 100% in all cases.
 > > 
 > > thanks.  i found this: http://www.pulseaudio.org/ticket/866
 > > 
 > > it certainly sounds like a fix will be a long time coming.  it feels
 > > to me that there should be a way for a stream to be started with a
 > > different "contract", i.e., "i will never rewind this stream.  please
 > > deliver the data on a best-effort basis.  i don't require
 > > acknowledgement of the last byte." i.e., exactly the conditions needed
 > > by most real-world uses of pa_play.
 > > 
 > >  > The 2s delay is likely related to the amount of audio that is buffered
 > >  > by default.
 > > 
 > > i've modified the pacat-simple.c example to let me play with the
 > > pa_buffer_attr passed to pa_simple_new, but can't seem to find a
 > > combination that avoids the 2s wait.
 > 
 > I did some experiment to set the tsched buffer size down a little bit
 > and for me the wait time becomes smaller. This makes sense since the
 > total buffer becomes smaller and the time to wait it to be drained is
 > smaller.
 > 
 > As this parameter is not exported via module-udev-detect, so you have to
 > use this hack method instead:

thanks!   will doing this result in different behavior than modifying
the pa_buffer_attr struct that's passed to pa_simple_new()?  (other than
it affecting all clients, instead of just one, that is.)

paul

 > 
 > pacmd
 > >> list-modules
 > [find the module index of your alsa card]
 > >> unload-module 
 > >> load-module module-alsa-card device_id="0" name="pci-_00_1b.0"
 > card_name="alsa_card.pci-_00_1b.0" namereg_fail=false tsched=yes
 > ignore_dB=no sync_volume=yes
 > card_properties="module-udev-detect.discovered=1"
 > tsched_buffer_size=
 > 
 > [note the parameter here may differ from yours, but you can get it from
 > list-modules above, see the arguments part]
 > 
 > Change the tsched_buffer_size to some number smaller. How to decide the
 > number? Before you unload this module, invoke list-sinks and check this
 > property: device.buffering.buffer_size. You may need to try half the
 > number again and again to see how it fixes your problem.
 > 
 > The cons of this action is you gets poor power consumption, the wakeup
 > gets more and if it's too small, more chances of underrun. Be cautious.
 > It's more like a tuning thing. You can take a try.
 > 
 > > 
 > > removing the call to pa_simple_drain(), however, and (hack alert!)
 > > substituting usleep(10) seems to do the trick, for me.  i do get
 > > a click between played files, though, so i'm not done.
 > > 
 > > paul
 > > 
 > >  > 
 > >  > Col
 > >  > 
 > >  > -- 
 > >  > 
 > >  > Colin Guthrie
 > >  > gmane(at)colin.guthr.ie
 > >  > http://colin.guthr.ie/
 > > 
 > > =-
 > >  paul fox, p...@foxharp.boston.ma.us (arlington, ma, where it's 62.4 
 > > degrees)
 > > ___
 > > pulseaudio-discuss mailing list
 > > pulseaudio-discuss@lists.freedesktop.org
 > > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
 > 
 > -- 
 > guanqun

=-
 paul fox, p...@foxharp.boston.ma.us (arlington, ma, where it's 67.8 degrees)
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH 1/2] thread-posix: remove duplicate code for setting thread name

2011-08-10 Thread Maarten Bosmans
2011/8/10 Lu Guanqun :
> According to the principle of DRY (don't repeat yourself), remove the code for
> setting thread name in thread-posix.c.
>
> Signed-off-by: Lu Guanqun 
> ---
>  src/pulsecore/thread-posix.c |   20 ++--
>  1 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/src/pulsecore/thread-posix.c b/src/pulsecore/thread-posix.c
> index 3f4ae5c..81ae98d 100644
> --- a/src/pulsecore/thread-posix.c
> +++ b/src/pulsecore/thread-posix.c
> @@ -65,15 +65,19 @@ static void thread_free_cb(void *p) {
>
>  PA_STATIC_TLS_DECLARE(current_thread, thread_free_cb);
>
> +static void pa_thread_set_name_raw(const char *name) {

We generally do not prefix internal functions with pa_.\
See http://pulseaudio.org/wiki/CodingStyle, #7.

Maarten

> +#ifdef __linux__
> +    prctl(PR_SET_NAME, name);
> +#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
> +    pthread_setname_np(name);
> +#endif
> +}
> +
>  static void* internal_thread_func(void *userdata) {
>     pa_thread *t = userdata;
>     pa_assert(t);
>
> -#ifdef __linux__
> -    prctl(PR_SET_NAME, t->name);
> -#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
> -    pthread_setname_np(t->name);
> -#endif
> +    pa_thread_set_name_raw(t->name);
>
>     t->id = pthread_self();
>
> @@ -175,11 +179,7 @@ void pa_thread_set_name(pa_thread *t, const char *name) {
>     pa_xfree(t->name);
>     t->name = pa_xstrdup(name);
>
> -#ifdef __linux__
> -    prctl(PR_SET_NAME, name);
> -#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
> -    pthread_setname_np(name);
> -#endif
> +    pa_thread_set_name_raw(name);
>  }
>
>  const char *pa_thread_get_name(pa_thread *t) {
>
> ___
> pulseaudio-discuss mailing list
> pulseaudio-discuss@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] [PATCH 2/2] sample-util: use built-in function

2011-08-10 Thread Lu Guanqun
use built-in function pa_frame_aligned().

Signed-off-by: Lu Guanqun 
---
 src/pulsecore/sample-util.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/pulsecore/sample-util.c b/src/pulsecore/sample-util.c
index 8a13495..16ec4ad 100644
--- a/src/pulsecore/sample-util.c
+++ b/src/pulsecore/sample-util.c
@@ -734,7 +734,7 @@ void pa_volume_memchunk(
 
 pa_assert(c);
 pa_assert(spec);
-pa_assert(c->length % pa_frame_size(spec) == 0);
+pa_assert(pa_frame_aligned(c->length, spec));
 pa_assert(volume);
 
 if (pa_memblock_is_silence(c->memblock))

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] [PATCH 1/2] thread-posix: remove duplicate code for setting thread name

2011-08-10 Thread Lu Guanqun
According to the principle of DRY (don't repeat yourself), remove the code for
setting thread name in thread-posix.c.

Signed-off-by: Lu Guanqun 
---
 src/pulsecore/thread-posix.c |   20 ++--
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/pulsecore/thread-posix.c b/src/pulsecore/thread-posix.c
index 3f4ae5c..81ae98d 100644
--- a/src/pulsecore/thread-posix.c
+++ b/src/pulsecore/thread-posix.c
@@ -65,15 +65,19 @@ static void thread_free_cb(void *p) {
 
 PA_STATIC_TLS_DECLARE(current_thread, thread_free_cb);
 
+static void pa_thread_set_name_raw(const char *name) {
+#ifdef __linux__
+prctl(PR_SET_NAME, name);
+#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
+pthread_setname_np(name);
+#endif
+}
+
 static void* internal_thread_func(void *userdata) {
 pa_thread *t = userdata;
 pa_assert(t);
 
-#ifdef __linux__
-prctl(PR_SET_NAME, t->name);
-#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
-pthread_setname_np(t->name);
-#endif
+pa_thread_set_name_raw(t->name);
 
 t->id = pthread_self();
 
@@ -175,11 +179,7 @@ void pa_thread_set_name(pa_thread *t, const char *name) {
 pa_xfree(t->name);
 t->name = pa_xstrdup(name);
 
-#ifdef __linux__
-prctl(PR_SET_NAME, name);
-#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
-pthread_setname_np(name);
-#endif
+pa_thread_set_name_raw(name);
 }
 
 const char *pa_thread_get_name(pa_thread *t) {

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Lu Guanqun
Hi,

On Wed, Aug 10, 2011 at 09:47:47PM +0800, Paul Fox wrote:
> colin wrote:
>  > 'Twas brillig, and Paul Fox at 08/08/11 15:21 did gyre and gimble:
>  ...
>  > > but this:
>  > > paplay -s server one.wav
>  > > paplay -s server two.wav
>  > > will result in a delay of over 2 seconds between "one" and "two". 
>  ...
>  > 
>  > This is likely related to the drain. In order to be 100% sure that the
>  > data is no longer needed (as it may be needed by rewind buffers) we have
>  > to wait.
>  > 
>  > There are a few bug reports about this kind of thing in e.g. the simple
>  > protocol, but I'm not sure we can solve it 100% in all cases.
> 
> thanks.  i found this: http://www.pulseaudio.org/ticket/866
> 
> it certainly sounds like a fix will be a long time coming.  it feels
> to me that there should be a way for a stream to be started with a
> different "contract", i.e., "i will never rewind this stream.  please
> deliver the data on a best-effort basis.  i don't require
> acknowledgement of the last byte." i.e., exactly the conditions needed
> by most real-world uses of pa_play.
> 
>  > The 2s delay is likely related to the amount of audio that is buffered
>  > by default.
> 
> i've modified the pacat-simple.c example to let me play with the
> pa_buffer_attr passed to pa_simple_new, but can't seem to find a
> combination that avoids the 2s wait.

I did some experiment to set the tsched buffer size down a little bit
and for me the wait time becomes smaller. This makes sense since the
total buffer becomes smaller and the time to wait it to be drained is
smaller.

As this parameter is not exported via module-udev-detect, so you have to
use this hack method instead:

pacmd
>> list-modules
[find the module index of your alsa card]
>> unload-module 
>> load-module module-alsa-card device_id="0" name="pci-_00_1b.0"
card_name="alsa_card.pci-_00_1b.0" namereg_fail=false tsched=yes
ignore_dB=no sync_volume=yes
card_properties="module-udev-detect.discovered=1"
tsched_buffer_size=

[note the parameter here may differ from yours, but you can get it from
list-modules above, see the arguments part]

Change the tsched_buffer_size to some number smaller. How to decide the
number? Before you unload this module, invoke list-sinks and check this
property: device.buffering.buffer_size. You may need to try half the
number again and again to see how it fixes your problem.

The cons of this action is you gets poor power consumption, the wakeup
gets more and if it's too small, more chances of underrun. Be cautious.
It's more like a tuning thing. You can take a try.

> 
> removing the call to pa_simple_drain(), however, and (hack alert!)
> substituting usleep(10) seems to do the trick, for me.  i do get
> a click between played files, though, so i'm not done.
> 
> paul
> 
>  > 
>  > Col
>  > 
>  > -- 
>  > 
>  > Colin Guthrie
>  > gmane(at)colin.guthr.ie
>  > http://colin.guthr.ie/
> 
> =-
>  paul fox, p...@foxharp.boston.ma.us (arlington, ma, where it's 62.4 degrees)
> ___
> pulseaudio-discuss mailing list
> pulseaudio-discuss@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

-- 
guanqun
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] null pointer check when setting volume

2011-08-10 Thread Maarten Bosmans
2011/8/10 xing wang :
> 2011/8/10 Maarten Bosmans 
>>
>> Looks good.
>> Minor comments below.
>>
> Thanks Marrten!.
>
>>
>> Maarten
>>
>> 2011/8/10  :
>> > From: xingchao 
>> >
>> > some sound app based on pulseaudio get crashed when setting volume, the 
>> > coredump
>> > show it's null pointer in pa_operation_ref().
>>
>> Don't you mean pa_operation_unref()?
>>
>
> Oh, sorry for confuse, you're right, it's pa_operation_unref.
>
>>
>> > Signed-off-by: xingchao 
>> > ---
>> >  src/utils/pactl.c |   10 --
>> >  1 files changed, 8 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/src/utils/pactl.c b/src/utils/pactl.c
>> > index 2eb0f25..487cd41 100644
>> > --- a/src/utils/pactl.c
>> > +++ b/src/utils/pactl.c
>> > @@ -1036,6 +1036,7 @@ static void volume_relative_adjust(pa_cvolume *cv) {
>> >
>> >  static void get_sink_volume_callback(pa_context *c, const pa_sink_info 
>> > *i, int is_last, void *userdata) {
>> >     pa_cvolume cv;
>> > +       pa_operation *o;
>> >
>> >     if (is_last < 0) {
>> >         pa_log(_("Failed to get sink information: %s"), 
>> > pa_strerror(pa_context_errno(c)));
>> > @@ -1050,7 +1051,9 @@ static void get_sink_volume_callback(pa_context *c, 
>> > const pa_sink_info *i, int i
>> >
>> >     cv = i->volume;
>> >     volume_relative_adjust(&cv);
>> > -    pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, 
>> > &cv, simple_callback, NULL));
>> > +       o = pa_context_set_sink_volume_by_name(c, sink_name, &cv, 
>> > simple_callback, NULL);
>> > +       if (o)
>> > +           pa_operation_unref(o);
>> >  }
>> >
>> >  static void get_source_volume_callback(pa_context *c, const 
>> > pa_source_info *i, int is_last, void *userdata) {
>> > @@ -1370,7 +1373,10 @@ static void context_state_callback(pa_context *c, 
>> > void *userdata) {
>> >                     } else {
>> >                         pa_cvolume v;
>> >                         pa_cvolume_set(&v, 1, volume);
>> > -                        
>> > pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &v, 
>> > simple_callback, NULL));
>> > +                                               pa_operation *o = 
>> > pa_context_set_sink_volume_by_name(c, sink_name, &v, simple_callback, 
>> > NULL);
>>
>> You should make this two separate lines to avoid mixing declarations
>> and code, just like you did in the two hunks above.
>
> Seems there's some pattern issue when send out the patch with git
> send-email. Please find attached patch, it should be okay.
> --xingchao

No, the patch came through all right. What I meant was that you change

pa_cvolume v;
pa_cvolume_set(&v, 1, volume);
pa_operation *o = pa_context_set_sink_volume_by_name(...);

into

pa_cvolume v;
pa_operation *o;
pa_cvolume_set(&v, 1, volume);
o = pa_context_set_sink_volume_by_name(...);

I find the second approach of separating declaration and code cleaner,
but perhaps others disagree. http://pulseaudio.org/wiki/CodingStyle
does not say anything specific about this issue, so either way would
probably go.

Maarten
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] long delay after "paplay -s somehost foo.wav"

2011-08-10 Thread Paul Fox
colin wrote:
 > 'Twas brillig, and Paul Fox at 08/08/11 15:21 did gyre and gimble:
 ...
 > > but this:
 > > paplay -s server one.wav
 > > paplay -s server two.wav
 > > will result in a delay of over 2 seconds between "one" and "two". 
 ...
 > 
 > This is likely related to the drain. In order to be 100% sure that the
 > data is no longer needed (as it may be needed by rewind buffers) we have
 > to wait.
 > 
 > There are a few bug reports about this kind of thing in e.g. the simple
 > protocol, but I'm not sure we can solve it 100% in all cases.

thanks.  i found this: http://www.pulseaudio.org/ticket/866

it certainly sounds like a fix will be a long time coming.  it feels
to me that there should be a way for a stream to be started with a
different "contract", i.e., "i will never rewind this stream.  please
deliver the data on a best-effort basis.  i don't require
acknowledgement of the last byte." i.e., exactly the conditions needed
by most real-world uses of pa_play.

 > The 2s delay is likely related to the amount of audio that is buffered
 > by default.

i've modified the pacat-simple.c example to let me play with the
pa_buffer_attr passed to pa_simple_new, but can't seem to find a
combination that avoids the 2s wait.

removing the call to pa_simple_drain(), however, and (hack alert!)
substituting usleep(10) seems to do the trick, for me.  i do get
a click between played files, though, so i'm not done.

paul

 > 
 > Col
 > 
 > -- 
 > 
 > Colin Guthrie
 > gmane(at)colin.guthr.ie
 > http://colin.guthr.ie/

=-
 paul fox, p...@foxharp.boston.ma.us (arlington, ma, where it's 62.4 degrees)
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] null pointer check when setting volume

2011-08-10 Thread xing wang
2011/8/10 Maarten Bosmans 
>
> Looks good.
> Minor comments below.
>
Thanks Marrten!.

>
> Maarten
>
> 2011/8/10  :
> > From: xingchao 
> >
> > some sound app based on pulseaudio get crashed when setting volume, the 
> > coredump
> > show it's null pointer in pa_operation_ref().
>
> Don't you mean pa_operation_unref()?
>

Oh, sorry for confuse, you're right, it's pa_operation_unref.

>
> > Signed-off-by: xingchao 
> > ---
> >  src/utils/pactl.c |   10 --
> >  1 files changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/utils/pactl.c b/src/utils/pactl.c
> > index 2eb0f25..487cd41 100644
> > --- a/src/utils/pactl.c
> > +++ b/src/utils/pactl.c
> > @@ -1036,6 +1036,7 @@ static void volume_relative_adjust(pa_cvolume *cv) {
> >
> >  static void get_sink_volume_callback(pa_context *c, const pa_sink_info *i, 
> > int is_last, void *userdata) {
> >     pa_cvolume cv;
> > +       pa_operation *o;
> >
> >     if (is_last < 0) {
> >         pa_log(_("Failed to get sink information: %s"), 
> > pa_strerror(pa_context_errno(c)));
> > @@ -1050,7 +1051,9 @@ static void get_sink_volume_callback(pa_context *c, 
> > const pa_sink_info *i, int i
> >
> >     cv = i->volume;
> >     volume_relative_adjust(&cv);
> > -    pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, 
> > &cv, simple_callback, NULL));
> > +       o = pa_context_set_sink_volume_by_name(c, sink_name, &cv, 
> > simple_callback, NULL);
> > +       if (o)
> > +           pa_operation_unref(o);
> >  }
> >
> >  static void get_source_volume_callback(pa_context *c, const pa_source_info 
> > *i, int is_last, void *userdata) {
> > @@ -1370,7 +1373,10 @@ static void context_state_callback(pa_context *c, 
> > void *userdata) {
> >                     } else {
> >                         pa_cvolume v;
> >                         pa_cvolume_set(&v, 1, volume);
> > -                        
> > pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &v, 
> > simple_callback, NULL));
> > +                                               pa_operation *o = 
> > pa_context_set_sink_volume_by_name(c, sink_name, &v, simple_callback, NULL);
>
> You should make this two separate lines to avoid mixing declarations
> and code, just like you did in the two hunks above.

Seems there's some pattern issue when send out the patch with git
send-email. Please find attached patch, it should be okay.
--xingchao
>
> > +
> > +                                               if (o)
> > +                               pa_operation_unref(o);
> >                     }
> >                     break;
> >
> > --
> > 1.7.1
> >
> > ___
> > pulseaudio-discuss mailing list
> > pulseaudio-discuss@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
> >
> ___
> pulseaudio-discuss mailing list
> pulseaudio-discuss@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
From 621e3d760f73144520fe62861409dacd23e838e1 Mon Sep 17 00:00:00 2001
From: xingchao 
Date: Wed, 10 Aug 2011 21:00:08 -0400
Subject: [PATCH] null pointer check when setting volume

some sound app based on pulseaudio get crashed when setting volume, the
coredump show it's null pointer in pa_operation_unref().

Signed-off-by: xingchao 
---
 src/utils/pactl.c |   10 --
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/utils/pactl.c b/src/utils/pactl.c
index 2eb0f25..4662d20 100644
--- a/src/utils/pactl.c
+++ b/src/utils/pactl.c
@@ -1036,6 +1036,7 @@ static void volume_relative_adjust(pa_cvolume *cv) {
 
 static void get_sink_volume_callback(pa_context *c, const pa_sink_info *i, int is_last, void *userdata) {
 pa_cvolume cv;
+pa_operation *o;
 
 if (is_last < 0) {
 pa_log(_("Failed to get sink information: %s"), pa_strerror(pa_context_errno(c)));
@@ -1050,7 +1051,9 @@ static void get_sink_volume_callback(pa_context *c, const pa_sink_info *i, int i
 
 cv = i->volume;
 volume_relative_adjust(&cv);
-pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &cv, simple_callback, NULL));
+o = pa_context_set_sink_volume_by_name(c, sink_name, &cv, simple_callback, NULL);
+if (o)
+	pa_operation_unref(o);
 }
 
 static void get_source_volume_callback(pa_context *c, const pa_source_info *i, int is_last, void *userdata) {
@@ -1370,7 +1373,10 @@ static void context_state_callback(pa_context *c, void *userdata) {
 } else {
 pa_cvolume v;
 pa_cvolume_set(&v, 1, volume);
-pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &v, simple_callback, NULL));
+			pa_operation *o = pa_context_set_sink_volume_by_name(c, sink_name, &v, simple_callback, NULL);
+
+			if (o)
+		pa_operation_unref(o);
 }
 break;
 
-- 
1.7.1

___

Re: [pulseaudio-discuss] Automatic muting of multiple applications

2011-08-10 Thread Himanshu Chug
Hi

On Tue, Aug 9, 2011 at 11:18 PM, Johannes H. Jensen
wrote:

> On Tue, Aug 9, 2011 at 14:32, Maarten Bosmans  wrote:
> > That could indeed by some handy functionality.
> > In pulseaudio there's already a concept of corking a stream. If a
> > stream is corked, its audio is muted and the application receives a
> > signal so it can pause the playback. If the stream is uncorked, the
> > music resumes playing.
>
> Ah, that's neat! Is there any way to cork a stream from command-line
> tools like pacmd?
>

I guess not, but PA does post an event to the application to CORK/UNCORK the
stream, its application responsibility to handle the event and behave
accordingly.
e.g module-cork-music-on-phone , PA posts and event  using
pa_sink_input_send_event(j, PA_STREAM_EVENT_REQUEST_CORK, NULL)
to the application, application need to register for callback using
"pa_stream_set_event_callback" to receive the events from PA.


>
> > This would indeed be best implemented as a module. You can use
> > module-cork-music-on-phone as an example.
> > There were also some threads on the mailing list about corking streams
> > that you might want to read, such as "dynamic routing through pulse
> > audio" a couple of weeks back.
>
> Great, I will base my module on that :-)
>

Sure, you will get enough hints if you go-through the
module-cork-music-on-phone ,so its best to initially modify the existing
module-cork-music-on-phone and base your module on this.


>
> Thanks!
>
> - Johannes
> ___
> pulseaudio-discuss mailing list
> pulseaudio-discuss@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] null pointer check when setting volume

2011-08-10 Thread Maarten Bosmans
Looks good.
Minor comments below.

Maarten

2011/8/10  :
> From: xingchao 
>
> some sound app based on pulseaudio get crashed when setting volume, the 
> coredump
> show it's null pointer in pa_operation_ref().

Don't you mean pa_operation_unref()?

> Signed-off-by: xingchao 
> ---
>  src/utils/pactl.c |   10 --
>  1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/utils/pactl.c b/src/utils/pactl.c
> index 2eb0f25..487cd41 100644
> --- a/src/utils/pactl.c
> +++ b/src/utils/pactl.c
> @@ -1036,6 +1036,7 @@ static void volume_relative_adjust(pa_cvolume *cv) {
>
>  static void get_sink_volume_callback(pa_context *c, const pa_sink_info *i, 
> int is_last, void *userdata) {
>     pa_cvolume cv;
> +       pa_operation *o;
>
>     if (is_last < 0) {
>         pa_log(_("Failed to get sink information: %s"), 
> pa_strerror(pa_context_errno(c)));
> @@ -1050,7 +1051,9 @@ static void get_sink_volume_callback(pa_context *c, 
> const pa_sink_info *i, int i
>
>     cv = i->volume;
>     volume_relative_adjust(&cv);
> -    pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &cv, 
> simple_callback, NULL));
> +       o = pa_context_set_sink_volume_by_name(c, sink_name, &cv, 
> simple_callback, NULL);
> +       if (o)
> +           pa_operation_unref(o);
>  }
>
>  static void get_source_volume_callback(pa_context *c, const pa_source_info 
> *i, int is_last, void *userdata) {
> @@ -1370,7 +1373,10 @@ static void context_state_callback(pa_context *c, void 
> *userdata) {
>                     } else {
>                         pa_cvolume v;
>                         pa_cvolume_set(&v, 1, volume);
> -                        
> pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &v, 
> simple_callback, NULL));
> +                                               pa_operation *o = 
> pa_context_set_sink_volume_by_name(c, sink_name, &v, simple_callback, NULL);

You should make this two separate lines to avoid mixing declarations
and code, just like you did in the two hunks above.

> +
> +                                               if (o)
> +                               pa_operation_unref(o);
>                     }
>                     break;
>
> --
> 1.7.1
>
> ___
> pulseaudio-discuss mailing list
> pulseaudio-discuss@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] [PATCH] null pointer check when setting volume

2011-08-10 Thread wangxingchao2011
From: xingchao 

some sound app based on pulseaudio get crashed when setting volume, the coredump
show it's null pointer in pa_operation_ref().

Signed-off-by: xingchao 
---
 src/utils/pactl.c |   10 --
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/utils/pactl.c b/src/utils/pactl.c
index 2eb0f25..487cd41 100644
--- a/src/utils/pactl.c
+++ b/src/utils/pactl.c
@@ -1036,6 +1036,7 @@ static void volume_relative_adjust(pa_cvolume *cv) {
 
 static void get_sink_volume_callback(pa_context *c, const pa_sink_info *i, int 
is_last, void *userdata) {
 pa_cvolume cv;
+   pa_operation *o;
 
 if (is_last < 0) {
 pa_log(_("Failed to get sink information: %s"), 
pa_strerror(pa_context_errno(c)));
@@ -1050,7 +1051,9 @@ static void get_sink_volume_callback(pa_context *c, const 
pa_sink_info *i, int i
 
 cv = i->volume;
 volume_relative_adjust(&cv);
-pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &cv, 
simple_callback, NULL));
+   o = pa_context_set_sink_volume_by_name(c, sink_name, &cv, 
simple_callback, NULL);
+   if (o)
+   pa_operation_unref(o);
 }
 
 static void get_source_volume_callback(pa_context *c, const pa_source_info *i, 
int is_last, void *userdata) {
@@ -1370,7 +1373,10 @@ static void context_state_callback(pa_context *c, void 
*userdata) {
 } else {
 pa_cvolume v;
 pa_cvolume_set(&v, 1, volume);
-
pa_operation_unref(pa_context_set_sink_volume_by_name(c, sink_name, &v, 
simple_callback, NULL));
+   pa_operation *o = 
pa_context_set_sink_volume_by_name(c, sink_name, &v, simple_callback, NULL);
+
+   if (o)
+   pa_operation_unref(o);
 }
 break;
 
-- 
1.7.1

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH 3/3] Move i18n.[ch] to src/pulsecore

2011-08-10 Thread Maarten Bosmans
The files client-conf, client-conf-x11 and fork-detect could also be
moved from pulse to pulsecore. I didn't do that in this patch, because
contrary to i18n.h, these header files are only used in sources from
src/pulse.

Moving the files to pulsecore would result in all headers in src/pulse
(except for internal.h) being used for external api, which I think is
a good idea. Should I make a patch for this too?

Maarten

2011/8/10 Maarten Bosmans :
> The header is used in files troughout the tree and is not included in the 
> public api,
> so it belongs in pulsecore, not in pulse.
> ---
>  src/Makefile.am                                 |    4 +-
>  src/daemon/caps.c                               |    3 +-
>  src/daemon/cmdline.c                            |    2 +-
>  src/daemon/daemon-conf.c                        |    2 +-
>  src/daemon/dumpmodules.c                        |    4 +-
>  src/daemon/ltdl-bind-now.c                      |    3 +-
>  src/daemon/main.c                               |    2 +-
>  src/modules/alsa/alsa-mixer.c                   |    2 +-
>  src/modules/alsa/alsa-sink.c                    |    2 +-
>  src/modules/alsa/alsa-source.c                  |    2 +-
>  src/modules/alsa/alsa-util.c                    |    2 +-
>  src/modules/alsa/module-alsa-card.c             |    2 +-
>  src/modules/bluetooth/module-bluetooth-device.c |    2 +-
>  src/modules/echo-cancel/module-echo-cancel.c    |    2 +-
>  src/modules/module-always-sink.c                |    4 +-
>  src/modules/module-equalizer-sink.c             |    2 +-
>  src/modules/module-filter-apply.c               |    6 +-
>  src/modules/module-ladspa-sink.c                |    2 +-
>  src/modules/module-null-sink.c                  |    2 +-
>  src/modules/module-rygel-media-server.c         |    2 +-
>  src/modules/module-virtual-sink.c               |    2 +-
>  src/modules/module-virtual-source.c             |    2 +-
>  src/modules/reserve-wrap.c                      |    2 +-
>  src/pulse/channelmap.c                          |    2 +-
>  src/pulse/client-conf-x11.c                     |    2 +-
>  src/pulse/client-conf.c                         |    2 +-
>  src/pulse/context.c                             |    2 +-
>  src/pulse/error.c                               |    3 +-
>  src/pulse/format.c                              |    2 +-
>  src/pulse/i18n.c                                |   38 --
>  src/pulse/i18n.h                                |   62 
> ---
>  src/pulse/mainloop-api.c                        |    2 +-
>  src/pulse/mainloop-signal.c                     |    2 +-
>  src/pulse/mainloop.c                            |    2 +-
>  src/pulse/sample.c                              |    2 +-
>  src/pulse/thread-mainloop.c                     |    2 +-
>  src/pulse/volume.c                              |    3 +-
>  src/pulsecore/i18n.c                            |   38 ++
>  src/pulsecore/i18n.h                            |   61 ++
>  src/pulsecore/lock-autospawn.c                  |    2 +-
>  src/pulsecore/sink.c                            |    2 +-
>  src/tests/resampler-test.c                      |    2 +-
>  src/utils/pacat.c                               |    5 +-
>  src/utils/pacmd.c                               |    2 +-
>  src/utils/pactl.c                               |    2 +-
>  src/utils/pasuspender.c                         |    3 +-
>  src/utils/pax11publish.c                        |    2 +-
>  47 files changed, 150 insertions(+), 153 deletions(-)
>  delete mode 100644 src/pulse/i18n.c
>  delete mode 100644 src/pulse/i18n.h
>  create mode 100644 src/pulsecore/i18n.c
>  create mode 100644 src/pulsecore/i18n.h
>
> diff --git a/src/Makefile.am b/src/Makefile.am
> index ebf5ebc..6b775e5 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -523,7 +523,6 @@ lib_LTLIBRARIES = \
>
>  libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
>                pulse/client-conf.c pulse/client-conf.h \
> -               pulse/i18n.c pulse/i18n.h \
>                pulse/fork-detect.c pulse/fork-detect.h \
>                pulse/xmalloc.c pulse/xmalloc.h \
>                pulse/proplist.c pulse/proplist.h \
> @@ -545,11 +544,12 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
>                pulsecore/endianmacros.h \
>                pulsecore/flist.c pulsecore/flist.h \
>                pulsecore/hashmap.c pulsecore/hashmap.h \
> +               pulsecore/i18n.c pulsecore/i18n.h \
>                pulsecore/idxset.c pulsecore/idxset.h \
>                pulsecore/arpa-inet.c pulsecore/arpa-inet.h \
>                pulsecore/iochannel.c pulsecore/iochannel.h \
>                pulsecore/ioline.c pulsecore/ioline.h \
> -               pulsecore/ipacl.h pulsecore/ipacl.c \
> +               pulsecore/ipacl.c pulsecore/ipacl.h \
>                pulsecore/llist.h \
>                pulsecore/lock-autospawn.c pulsecore/lock-autospawn.h \
>                

[pulseaudio-discuss] [PATCH 3/3] Move i18n.[ch] to src/pulsecore

2011-08-10 Thread Maarten Bosmans
The header is used in files troughout the tree and is not included in the 
public api,
so it belongs in pulsecore, not in pulse.
---
 src/Makefile.am |4 +-
 src/daemon/caps.c   |3 +-
 src/daemon/cmdline.c|2 +-
 src/daemon/daemon-conf.c|2 +-
 src/daemon/dumpmodules.c|4 +-
 src/daemon/ltdl-bind-now.c  |3 +-
 src/daemon/main.c   |2 +-
 src/modules/alsa/alsa-mixer.c   |2 +-
 src/modules/alsa/alsa-sink.c|2 +-
 src/modules/alsa/alsa-source.c  |2 +-
 src/modules/alsa/alsa-util.c|2 +-
 src/modules/alsa/module-alsa-card.c |2 +-
 src/modules/bluetooth/module-bluetooth-device.c |2 +-
 src/modules/echo-cancel/module-echo-cancel.c|2 +-
 src/modules/module-always-sink.c|4 +-
 src/modules/module-equalizer-sink.c |2 +-
 src/modules/module-filter-apply.c   |6 +-
 src/modules/module-ladspa-sink.c|2 +-
 src/modules/module-null-sink.c  |2 +-
 src/modules/module-rygel-media-server.c |2 +-
 src/modules/module-virtual-sink.c   |2 +-
 src/modules/module-virtual-source.c |2 +-
 src/modules/reserve-wrap.c  |2 +-
 src/pulse/channelmap.c  |2 +-
 src/pulse/client-conf-x11.c |2 +-
 src/pulse/client-conf.c |2 +-
 src/pulse/context.c |2 +-
 src/pulse/error.c   |3 +-
 src/pulse/format.c  |2 +-
 src/pulse/i18n.c|   38 --
 src/pulse/i18n.h|   62 ---
 src/pulse/mainloop-api.c|2 +-
 src/pulse/mainloop-signal.c |2 +-
 src/pulse/mainloop.c|2 +-
 src/pulse/sample.c  |2 +-
 src/pulse/thread-mainloop.c |2 +-
 src/pulse/volume.c  |3 +-
 src/pulsecore/i18n.c|   38 ++
 src/pulsecore/i18n.h|   61 ++
 src/pulsecore/lock-autospawn.c  |2 +-
 src/pulsecore/sink.c|2 +-
 src/tests/resampler-test.c  |2 +-
 src/utils/pacat.c   |5 +-
 src/utils/pacmd.c   |2 +-
 src/utils/pactl.c   |2 +-
 src/utils/pasuspender.c |3 +-
 src/utils/pax11publish.c|2 +-
 47 files changed, 150 insertions(+), 153 deletions(-)
 delete mode 100644 src/pulse/i18n.c
 delete mode 100644 src/pulse/i18n.h
 create mode 100644 src/pulsecore/i18n.c
 create mode 100644 src/pulsecore/i18n.h

diff --git a/src/Makefile.am b/src/Makefile.am
index ebf5ebc..6b775e5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -523,7 +523,6 @@ lib_LTLIBRARIES = \
 
 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
pulse/client-conf.c pulse/client-conf.h \
-   pulse/i18n.c pulse/i18n.h \
pulse/fork-detect.c pulse/fork-detect.h \
pulse/xmalloc.c pulse/xmalloc.h \
pulse/proplist.c pulse/proplist.h \
@@ -545,11 +544,12 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
pulsecore/endianmacros.h \
pulsecore/flist.c pulsecore/flist.h \
pulsecore/hashmap.c pulsecore/hashmap.h \
+   pulsecore/i18n.c pulsecore/i18n.h \
pulsecore/idxset.c pulsecore/idxset.h \
pulsecore/arpa-inet.c pulsecore/arpa-inet.h \
pulsecore/iochannel.c pulsecore/iochannel.h \
pulsecore/ioline.c pulsecore/ioline.h \
-   pulsecore/ipacl.h pulsecore/ipacl.c \
+   pulsecore/ipacl.c pulsecore/ipacl.h \
pulsecore/llist.h \
pulsecore/lock-autospawn.c pulsecore/lock-autospawn.h \
pulsecore/log.c pulsecore/log.h \
diff --git a/src/daemon/caps.c b/src/daemon/caps.c
index 74ccb1c..3759388 100644
--- a/src/daemon/caps.c
+++ b/src/daemon/caps.c
@@ -28,8 +28,7 @@
 #include 
 #include 
 
-#include 
-
+#include 
 #include 
 #include 
 
diff --git a/src/daemon/cmdline.c b/src/daemon/cmdline.c
index ec37d46..d42f90d 100644
--- a/src/daemon/cmdline.c
+++ b/src/daemon/cmdline.c
@@ -28,10 +28,10 @@
 #include 
 
 #include 
-#include 
 #include 
 
 #include 
+#include 
 #include 
 #include 
 
diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
index bb92909..1f70b09 10064

[pulseaudio-discuss] [PATCH 2/3] Add some missing format.h includes

2011-08-10 Thread Maarten Bosmans
---
 src/pulse/ext-device-restore.h |1 +
 src/pulsecore/sink.c   |1 +
 src/pulsecore/sink.h   |1 +
 src/pulsecore/source.c |1 +
 src/pulsecore/source.h |1 +
 5 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/pulse/ext-device-restore.h b/src/pulse/ext-device-restore.h
index eb0619c..9a70d87 100644
--- a/src/pulse/ext-device-restore.h
+++ b/src/pulse/ext-device-restore.h
@@ -24,6 +24,7 @@
 ***/
 
 #include 
+#include 
 #include 
 
 /** \file
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index 77c665f..714b3d2 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -29,6 +29,7 @@
 #include 
 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h
index 239936b..8aa04b8 100644
--- a/src/pulsecore/sink.h
+++ b/src/pulsecore/sink.h
@@ -30,6 +30,7 @@ typedef struct pa_sink_volume_change pa_sink_volume_change;
 #include 
 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index 9764a88..31ce39d 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -27,6 +27,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h
index 13d279d..50cec77 100644
--- a/src/pulsecore/source.h
+++ b/src/pulsecore/source.h
@@ -29,6 +29,7 @@ typedef struct pa_source_volume_change 
pa_source_volume_change;
 #include 
 
 #include 
+#include 
 #include 
 #include 
 #include 
-- 
1.7.4.1

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] [PATCH 1/3] Include config.h consistently in source files and not in headers

2011-08-10 Thread Maarten Bosmans
---
 src/pulsecore/cpu-orc.c   |4 
 src/pulsecore/cpu-orc.h   |4 
 src/pulsecore/mime-type.h |4 
 3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/pulsecore/cpu-orc.c b/src/pulsecore/cpu-orc.c
index d4a1535..21d49ed 100644
--- a/src/pulsecore/cpu-orc.c
+++ b/src/pulsecore/cpu-orc.c
@@ -19,6 +19,10 @@
   USA.
 ***/
 
+#ifdef HAVE_CONFIG_H
+#include 
+#endif
+
 #include "cpu-orc.h"
 
 void pa_cpu_init_orc(pa_cpu_info cpu_info)
diff --git a/src/pulsecore/cpu-orc.h b/src/pulsecore/cpu-orc.h
index 9924d27..d236f7a 100644
--- a/src/pulsecore/cpu-orc.h
+++ b/src/pulsecore/cpu-orc.h
@@ -22,10 +22,6 @@
   USA.
 ***/
 
-#ifdef HAVE_CONFIG_H
-#include 
-#endif
-
 #include 
 
 /* Orc-optimised bits */
diff --git a/src/pulsecore/mime-type.h b/src/pulsecore/mime-type.h
index db77379..0a1d892 100644
--- a/src/pulsecore/mime-type.h
+++ b/src/pulsecore/mime-type.h
@@ -21,10 +21,6 @@
   USA.
 ***/
 
-#ifdef HAVE_CONFIG_H
-#include 
-#endif
-
 #include 
 #include 
 #include 
-- 
1.7.4.1

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss