[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master, updated. v0.9.19-300-g6faf383

Lennart Poettering gitmailer-noreply at 0pointer.de
Tue Jan 5 13:38:32 PST 2010


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 branch has been updated
      from  a282eadb88f26cea183399dba267d619bbdcd6df (commit)

- Log -----------------------------------------------------------------
6faf383 headers: Some trivial fixes for some documentation typos
0e47065 Subject: rtpoll: better support for DEBUG_TIMING logs
-----------------------------------------------------------------------

Summary of changes:
 src/pulse/def.h           |    3 ++-
 src/pulse/introspect.h    |    2 +-
 src/pulse/proplist.h      |    2 +-
 src/pulse/simple.h        |    4 ++--
 src/pulse/stream.h        |    4 ++--
 src/pulse/volume.h        |    6 +++---
 src/pulsecore/asyncq.h    |    5 +++--
 src/pulsecore/aupdate.h   |    2 +-
 src/pulsecore/memblockq.h |    2 +-
 src/pulsecore/rtpoll.c    |   23 ++++++++++++++++++++---
 10 files changed, 36 insertions(+), 17 deletions(-)

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

commit 0e47065fe5a410bcb7c367c23fc4d99b71fd82b2
Author: Pierre-Louis Bossart <pierre-louis.bossart at intel.com>
Date:   Wed Dec 23 13:57:03 2009 -0600

    Subject: rtpoll: better support for DEBUG_TIMING logs
    
    On all the platforms I tested, PulseAudio is frequently awaken and
    doesn't sleep for the duration specified for the poll timeout.
    Sometimes wake-ups occur within milliseconds of the poll call for no
    good reason; this seems to be related to ALSA issues (see my posts on
    the ALSA mailing list on null poll events).
    This patch enables a better log of requested sleep times v. actual
    sleep times. Enable DEBUG_TIMING to see actual messages. Please let me
    know if you see odd behaviors like the one below
    - Pierre
    
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: poll timeout: 188 ms
    E: rtpoll.c: Process time 0 ms; sleep time 48 ms
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: rtpoll finish
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: poll timeout: 139 ms
    E: rtpoll.c: Process time 0 ms; sleep time 49 ms
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: rtpoll finish
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: poll timeout: 189 ms
    E: rtpoll.c: Process time 0 ms; sleep time 0 ms
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: rtpoll finish
    E: rtpoll.c: rtpoll_run
    E: rtpoll.c: poll timeout: 189 ms
    E: rtpoll.c: Process time 0 ms; sleep time 49 ms

diff --git a/src/pulsecore/rtpoll.c b/src/pulsecore/rtpoll.c
index 666cbc9..e2f8262 100644
--- a/src/pulsecore/rtpoll.c
+++ b/src/pulsecore/rtpoll.c
@@ -47,6 +47,7 @@
 #include <pulsecore/core-util.h>
 #include <pulsecore/winsock.h>
 #include <pulsecore/ratelimit.h>
+#include <pulse/rtclock.h>
 
 #include "rtpoll.h"
 
@@ -217,6 +218,10 @@ int pa_rtpoll_run(pa_rtpoll *p, pa_bool_t wait_op) {
     pa_assert(p);
     pa_assert(!p->running);
 
+#ifdef DEBUG_TIMING
+    pa_log("rtpoll_run");
+#endif
+
     p->running = TRUE;
     p->timer_elapsed = FALSE;
 
@@ -230,13 +235,19 @@ int pa_rtpoll_run(pa_rtpoll *p, pa_bool_t wait_op) {
         if (!i->work_cb)
             continue;
 
-        if (p->quit)
+        if (p->quit) {
+#ifdef DEBUG_TIMING
+            pa_log("rtpoll finish");
+#endif
             goto finish;
+        }
 
         if ((k = i->work_cb(i)) != 0) {
             if (k < 0)
                 r = k;
-
+#ifdef DEBUG_TIMING
+            pa_log("rtpoll finish");
+#endif
             goto finish;
         }
     }
@@ -268,7 +279,9 @@ int pa_rtpoll_run(pa_rtpoll *p, pa_bool_t wait_op) {
 
             if (k < 0)
                 r = k;
-
+#ifdef DEBUG_TIMING
+            pa_log("rtpoll finish");
+#endif
             goto finish;
         }
     }
@@ -292,6 +305,10 @@ int pa_rtpoll_run(pa_rtpoll *p, pa_bool_t wait_op) {
         pa_usec_t now = pa_rtclock_now();
         p->awake = now - p->timestamp;
         p->timestamp = now;
+        if (!wait_op || p->quit || p->timer_enabled)
+            pa_log("poll timeout: %d ms ",(int) ((timeout.tv_sec*1000) + (timeout.tv_usec / 1000)));
+        else
+            pa_log("poll timeout is ZERO");
     }
 #endif
 

commit 6faf38313e5f313cbcfe5c78af1dd310131798d2
Author: Mads Kiilerich <mads at kiilerich.com>
Date:   Fri Dec 11 16:20:31 2009 +0100

    headers: Some trivial fixes for some documentation typos
    
    Note also the willneed/will_need inconsistency. I guess it could be nice to ASAP
    choose one of them and introduce a backward compatibility hack for the other.
    
    The issues was mostly found with:
    for a in $(grep -r '^[ /]\*.*()' $(
    	find -name '*.[ch]') |
    	sed 's,^.* \([^ ]*\)().*$,\1,g' |
    	sort |
    	uniq |
    	grep ^pa_)
    do
    	grep -rq "^.[^*].*\<$a(" $(find * -name '*.h') || echo $a
    done

diff --git a/src/pulse/def.h b/src/pulse/def.h
index 30a076d..82106ef 100644
--- a/src/pulse/def.h
+++ b/src/pulse/def.h
@@ -63,6 +63,7 @@ static inline int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
 #define PA_CONTEXT_SETTING_NAME PA_CONTEXT_SETTING_NAME
 #define PA_CONTEXT_READY PA_CONTEXT_READY
 #define PA_CONTEXT_FAILED PA_CONTEXT_FAILED
+#define PA_CONTEXT_TERMINATED PA_CONTEXT_TERMINATED
 #define PA_CONTEXT_IS_GOOD PA_CONTEXT_IS_GOOD
 /** \endcond */
 
@@ -351,7 +352,7 @@ typedef struct pa_buffer_attr {
      * that may be. Initialize to 0 to enable manual start/stop
      * control of the stream. This means that playback will not stop
      * on underrun and playback will not start automatically. Instead
-     * pa_stream_corked() needs to be called explicitly. If you set
+     * pa_stream_cork() needs to be called explicitly. If you set
      * this value to 0 you should also set PA_STREAM_START_CORKED. */
 
     uint32_t minreq;
diff --git a/src/pulse/introspect.h b/src/pulse/introspect.h
index 68cfc87..f9d22b2 100644
--- a/src/pulse/introspect.h
+++ b/src/pulse/introspect.h
@@ -460,7 +460,7 @@ typedef struct pa_card_info {
     pa_proplist *proplist;               /**< Property list */
 } pa_card_info;
 
-/** Callback prototype for pa_context_get_card_info() and friends \since 0.9.15 */
+/** Callback prototype for pa_context_get_card_info_...() \since 0.9.15 */
 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
 
 /** Get information about a card by its index \since 0.9.15 */
diff --git a/src/pulse/proplist.h b/src/pulse/proplist.h
index aae0534..e3f0af0 100644
--- a/src/pulse/proplist.h
+++ b/src/pulse/proplist.h
@@ -325,7 +325,7 @@ void pa_proplist_update(pa_proplist *p, pa_update_mode_t mode, pa_proplist *othe
  * specified key name. \since 0.9.11 */
 int pa_proplist_unset(pa_proplist *p, const char *key);
 
-/** Similar to pa_proplist_remove() but takes an array of keys to
+/** Similar to pa_proplist_unset() but takes an array of keys to
  * remove. The array should be terminated by a NULL pointer. Return -1
  * on failure, otherwise the number of entries actually removed (which
  * might even be 0, if there where no matching entries to
diff --git a/src/pulse/simple.h b/src/pulse/simple.h
index 6f1ba41..b1f6537 100644
--- a/src/pulse/simple.h
+++ b/src/pulse/simple.h
@@ -82,8 +82,8 @@
  *
  * \li pa_simple_drain() - Will wait for all sent data to finish playing.
  * \li pa_simple_flush() - Will throw away all data currently in buffers.
- * \li pa_simple_get_playback_latency() - Will return the total latency of
- *                                        the playback pipeline.
+ * \li pa_simple_get_latency() - Will return the total latency of
+ *                               the playback pipeline.
  *
  * \section cleanup_sec Cleanup
  *
diff --git a/src/pulse/stream.h b/src/pulse/stream.h
index bc54a11..b905788 100644
--- a/src/pulse/stream.h
+++ b/src/pulse/stream.h
@@ -289,7 +289,7 @@
  * issued on the others.
  *
  * To synchronize a stream to another, just pass the "master" stream
- * as last argument to pa_stream_connect_playack(). To make sure that
+ * as last argument to pa_stream_connect_playback(). To make sure that
  * the freshly created stream doesn't start playback right-away, make
  * sure to pass PA_STREAM_START_CORKED and - after all streams have
  * been created - uncork them all with a single call to
@@ -716,7 +716,7 @@ pa_operation *pa_stream_set_buffer_attr(pa_stream *s, const pa_buffer_attr *attr
 
 /** Change the stream sampling rate during playback. You need to pass
  * PA_STREAM_VARIABLE_RATE in the flags parameter of
- * pa_stream_connect() if you plan to use this function. Only valid
+ * pa_stream_connect_...() if you plan to use this function. Only valid
  * after the stream has been connected successfully and if the server
  * is at least PulseAudio 0.9.8. \since 0.9.8 */
 pa_operation *pa_stream_update_sample_rate(pa_stream *s, uint32_t rate, pa_stream_success_cb_t cb, void *userdata);
diff --git a/src/pulse/volume.h b/src/pulse/volume.h
index ded4422..185c341 100644
--- a/src/pulse/volume.h
+++ b/src/pulse/volume.h
@@ -149,7 +149,7 @@ pa_cvolume* pa_cvolume_set(pa_cvolume *a, unsigned channels, pa_volume_t v);
 char *pa_cvolume_snprint(char *s, size_t l, const pa_cvolume *c);
 
 /** Maximum length of the strings returned by
- * pa_cvolume_snprint_dB(). Please note that this value can change with
+ * pa_sw_cvolume_snprint_dB(). Please note that this value can change with
  * any release without warning and without being considered API or ABI
  * breakage. You should not use this definition anywhere where it
  * might become part of an ABI. \since 0.9.13 */
@@ -169,7 +169,7 @@ char *pa_sw_cvolume_snprint_dB(char *s, size_t l, const pa_cvolume *c);
 char *pa_volume_snprint(char *s, size_t l, pa_volume_t v);
 
 /** Maximum length of the strings returned by
- * pa_volume_snprint_dB(). Please note that this value can change with
+ * pa_sw_volume_snprint_dB(). Please note that this value can change with
  * any release without warning and without being considered API or ABI
  * breakage. You should not use this definition anywhere where it
  * might become part of an ABI. \since 0.9.15 */
@@ -268,7 +268,7 @@ double pa_sw_volume_to_linear(pa_volume_t v) PA_GCC_CONST;
 #ifdef INFINITY
 #define PA_DECIBEL_MININFTY ((double) -INFINITY)
 #else
-/** This floor value is used as minus infinity when using pa_volume_{to,from}_dB(). */
+/** This floor value is used as minus infinity when using pa_sw_volume_to_dB() / pa_sw_volume_from_dB(). */
 #define PA_DECIBEL_MININFTY ((double) -200.0)
 #endif
 
diff --git a/src/pulsecore/asyncq.h b/src/pulsecore/asyncq.h
index e6847ab..47ccbf0 100644
--- a/src/pulsecore/asyncq.h
+++ b/src/pulsecore/asyncq.h
@@ -48,8 +48,9 @@ void pa_asyncq_free(pa_asyncq* q, pa_free_cb_t free_cb);
 void* pa_asyncq_pop(pa_asyncq *q, pa_bool_t wait);
 int pa_asyncq_push(pa_asyncq *q, void *p, pa_bool_t wait);
 
-/* Similar to pa_asyncq_push(), but if the queue is full, postpone it
- * locally and delay until pa_asyncq_before_poll_post() */
+/* Similar to pa_asyncq_push(), but if the queue is full, postpone the
+ * appending of the item locally and delay until
+ * pa_asyncq_before_poll_post() is called. */
 void pa_asyncq_post(pa_asyncq*l, void *p);
 
 /* For the reading side */
diff --git a/src/pulsecore/aupdate.h b/src/pulsecore/aupdate.h
index fb38ffa..4887112 100644
--- a/src/pulsecore/aupdate.h
+++ b/src/pulsecore/aupdate.h
@@ -39,7 +39,7 @@ void pa_aupdate_write_end(pa_aupdate *a);
 
 /* Will return 0, or 1, depending which copy of the data the caller
  * should modify. Each time called this will return the opposite of
- * the previous pa_aupdate_write_begin()/pa_aupdate_write_swap()
+ * the previous pa_aupdate_write_begin() / pa_aupdate_write_swap()
  * call. Should only be called between pa_aupdate_write_begin() and
  * pa_aupdate_write_end() */
 unsigned pa_aupdate_write_swap(pa_aupdate *a);
diff --git a/src/pulsecore/memblockq.h b/src/pulsecore/memblockq.h
index 587c364..b756549 100644
--- a/src/pulsecore/memblockq.h
+++ b/src/pulsecore/memblockq.h
@@ -165,7 +165,7 @@ void pa_memblockq_set_silence(pa_memblockq *memblockq, pa_memchunk *silence);
 void pa_memblockq_apply_attr(pa_memblockq *memblockq, const pa_buffer_attr *a);
 void pa_memblockq_get_attr(pa_memblockq *bq, pa_buffer_attr *a);
 
-/* Call pa_memchunk_willneed() for every chunk in the queue from the current read pointer to the end */
+/* Call pa_memchunk_will_need() for every chunk in the queue from the current read pointer to the end */
 void pa_memblockq_willneed(pa_memblockq *bq);
 
 /* Check whether the memblockq is completely empty, i.e. no data

-- 
hooks/post-receive
PulseAudio Sound Server



More information about the pulseaudio-commits mailing list