[pulseaudio-commits] 3 commits - src/modules src/pulse src/pulsecore

Arun Raghavan arun at kemper.freedesktop.org
Fri May 20 07:38:29 PDT 2011


 src/modules/echo-cancel/adrian-aec.h         |    2 +-
 src/modules/echo-cancel/module-echo-cancel.c |    1 -
 src/pulse/format.c                           |   13 +++++++------
 src/pulsecore/sink-input.c                   |    3 ++-
 4 files changed, 10 insertions(+), 9 deletions(-)

New commits:
commit 117c7145944fb227703d72dd2f03e88d439c187d
Author: Arun Raghavan <arun.raghavan at collabora.co.uk>
Date:   Fri May 20 19:21:02 2011 +0530

    format: Fix channel map handling
    
    Channel map handling in the extended API was broken. Thanks for Milos_SD
    for pointing this out on IRC.

diff --git a/src/pulse/format.c b/src/pulse/format.c
index a1a0981..b256d72 100644
--- a/src/pulse/format.c
+++ b/src/pulse/format.c
@@ -193,11 +193,9 @@ pa_bool_t pa_format_info_to_sample_spec(pa_format_info *f, pa_sample_spec *ss, p
     if (map) {
         pa_channel_map_init(map);
 
-        if (!pa_format_info_get_prop_string(f, PA_PROP_FORMAT_CHANNEL_MAP, &m))
-            goto out;
-
-        if (m && pa_channel_map_parse(map, m) == NULL)
-            goto out;
+        if (pa_format_info_get_prop_string(f, PA_PROP_FORMAT_CHANNEL_MAP, &m))
+            if (pa_channel_map_parse(map, m) == NULL)
+                goto out;
     }
 
     ret = TRUE;
@@ -281,7 +279,10 @@ pa_bool_t pa_format_info_get_prop_string(pa_format_info *f, const char *key, cha
     pa_assert(key);
     pa_assert(v);
 
-    pa_return_val_if_fail(str = pa_proplist_gets(f->plist, key), FALSE);
+    str = pa_proplist_gets(f->plist, key), FALSE;
+    if (!str)
+        return FALSE;
+
     o = json_tokener_parse(str);
     pa_return_val_if_fail(!is_error(o), FALSE);
     if (json_object_get_type(o) != json_type_string) {
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 300b728..f4f3258 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -262,7 +262,8 @@ int pa_sink_input_new(
          * to using the sample spec and channel map after all decisions w.r.t.
          * routing are complete. */
         pa_idxset *tmp = pa_idxset_new(NULL, NULL);
-        pa_format_info *f = pa_format_info_from_sample_spec(&data->sample_spec, &data->channel_map);
+        pa_format_info *f = pa_format_info_from_sample_spec(&data->sample_spec,
+                data->channel_map_is_set ? &data->channel_map : NULL);
         pa_idxset_put(tmp, f, NULL);
         pa_sink_input_new_data_set_formats(data, tmp);
     }

commit f4eccad1e64e1d494dbda30cccb86a848ceb1d1d
Author: Arun Raghavan <arun.raghavan at collabora.co.uk>
Date:   Fri May 20 10:01:16 2011 +0530

    echo-cancel: Remove extraneous debug message
    
    This was making it impossible to run in debug mode with save_aec=1

diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c
index a06e481..b0d3c68 100644
--- a/src/modules/echo-cancel/module-echo-cancel.c
+++ b/src/modules/echo-cancel/module-echo-cancel.c
@@ -720,7 +720,6 @@ static void source_output_push_cb(pa_source_output *o, const pa_memchunk *chunk)
                         fwrite(pdata, 1, u->blocksize, u->played_file);
                     if (u->canceled_file)
                         fwrite(cdata, 1, u->blocksize, u->canceled_file);
-                    pa_log_debug("AEC frame saved.");
                 }
 
                 pa_memblock_release(cchunk.memblock);

commit 8305284cd22c76622d892d6ac74b4e92b8680fdb
Author: Arun Raghavan <arun.raghavan at collabora.co.uk>
Date:   Sat May 14 17:44:23 2011 +0530

    echo-cancel: Don't overpad variable
    
    The padding was to be 16 bytes, not 16 elements.

diff --git a/src/modules/echo-cancel/adrian-aec.h b/src/modules/echo-cancel/adrian-aec.h
index efb9e27..0efe53e 100644
--- a/src/modules/echo-cancel/adrian-aec.h
+++ b/src/modules/echo-cancel/adrian-aec.h
@@ -306,7 +306,7 @@ struct AEC {
   // NLMS-pw
   REAL x[NLMS_LEN + NLMS_EXT];  // tap delayed loudspeaker signal
   REAL xf[NLMS_LEN + NLMS_EXT]; // pre-whitening tap delayed signal
-  REAL w_arr[NLMS_LEN+16];      // tap weights
+  REAL w_arr[NLMS_LEN + (16 / sizeof(REAL))]; // tap weights
   REAL *w;                      // this will be a 16-byte aligned pointer into w_arr
   int j;                        // optimize: less memory copies
   double dotp_xf_xf;            // double to avoid loss of precision




More information about the pulseaudio-commits mailing list