I'll have a look.
thanks,
SSirkia

On 04/15/2011 02:35 PM, Zhu, Peter J wrote:
This patch resulted two IVI regression issue:
[Trunk:Testing][REG]Russellville:alsa_input source is muted by default 16188
[Trunk:Testing][REG]Russellville: failed to record sounds via pulseaudio 16190

Please fix it otherwise we can't promote to Trunk


Peter

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Vivian Zhang
Sent: Thursday, April 14, 2011 10:42 PM
To: [email protected]
Subject: [meego-commits] 16255: Changes to Trunk:Testing/pulseaudio

Hi,
I have made the following changes to pulseaudio in project Trunk:Testing.
Please review and accept ASAP.

Thank You,
Vivian Zhang

[This message was auto-generated]

---

Request #16255:

   submit:   devel:multimedia/pulseaudio(r55) ->  Trunk:Testing/pulseaudio


Message:
     Added patch for merging alsa-sink-old and alsa-source-old modules for
n900 (BMC #16057)

State:   new          2011-04-14T07:42:18 vivian
Comment: None



changes files:
--------------
--- pulseaudio.changes
+++ pulseaudio.changes
@@ -0,0 +1,3 @@
+* Tue Apr 14 2011 Sami Sirkia<[email protected]>  - 0.9.22
+- Added alsa-sink-old and alsa-source-old by patch. Fixes: BMC#16057.
+

new:
----
   pa-0.9.22-add-old-sink-and-source.patch

spec files:
-----------
--- pulseaudio.spec
+++ pulseaudio.spec
@@ -277,6 +277,7 @@
  Patch254:     pa-0.9.22-desktop.patch
  Patch255:     use-a2dp-profile-for-non-mfld.patch
  Patch256:     fix-9972-auto-route-audio-to-bt-sink.patch
+Patch257:     pa-0.9.22-add-old-sink-and-source.patch
  Requires:   udev>= 145-3
  Requires:   xcb-util
  Requires(post): /sbin/ldconfig
@@ -857,6 +858,8 @@
  %patch255 -p1
  # fix-9972-auto-route-audio-to-bt-sink.patch
  %patch256 -p1
+# pa-0.9.22-add-old-sink-and-source.patch
+%patch257 -p1
  #>>  setup
  #<<  setup

@@ -895,6 +898,7 @@
  %fdupes  %{buildroot}/%{_includedir}


+
  %post -p /sbin/ldconfig

  %postun -p /sbin/ldconfig
@@ -968,6 +972,8 @@
  %{_libdir}/pulse-%{pulseversion}/modules/module-alsa-sink.so
  %{_libdir}/pulse-%{pulseversion}/modules/module-alsa-source.so
  %{_libdir}/pulse-%{pulseversion}/modules/module-alsa-card.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-sink-old.so
+%{_libdir}/pulse-%{pulseversion}/modules/module-alsa-source-old.so
  %{_libdir}/pulse-%{pulseversion}/modules/module-always-sink.so
  %{_libdir}/pulse-%{pulseversion}/modules/module-augment-properties.so
  %{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-device.so

other changes:
--------------

++++++ pa-0.9.22-add-old-sink-and-source.patch (new)
--- pa-0.9.22-add-old-sink-and-source.patch
+++ pa-0.9.22-add-old-sink-and-source.patch
+diff -ruN b/src/Makefile.am c/src/Makefile.am
+--- b/src/Makefile.am  2011-04-11 20:35:17.383078001 +0300
++++ c/src/Makefile.am   2011-04-12 15:34:38.291077944 +0300
+@@ -1114,7 +1114,9 @@
+               libalsa-util.la \
+               module-alsa-sink.la \
+               module-alsa-source.la \
+-              module-alsa-card.la
++              module-alsa-card.la \
++              module-alsa-sink-old.la \
++              module-alsa-source-old.la
+
+ dist_alsaprofilesets_DATA = \
+               modules/alsa/mixer/profile-sets/default.conf \
+@@ -1303,6 +1305,8 @@
+               module-alsa-sink-symdef.h \
+               module-alsa-source-symdef.h \
+               module-alsa-card-symdef.h \
++              modules/alsa/module-alsa-sink-old-symdef.h \
++              modules/alsa/module-alsa-source-old-symdef.h \
+               module-coreaudio-detect-symdef.h \
+               module-coreaudio-device-symdef.h \
+               module-solaris-symdef.h \
+@@ -1570,10 +1574,13 @@
+
+ libalsa_util_la_SOURCES = \
+               modules/alsa/alsa-util.c modules/alsa/alsa-util.h \
++              modules/alsa/alsa-util-old.c modules/alsa/alsa-util-old.h \
+               modules/alsa/alsa-mixer.c modules/alsa/alsa-mixer.h \
+               modules/alsa/alsa-sink.c modules/alsa/alsa-sink.h \
+               modules/alsa/alsa-source.c modules/alsa/alsa-source.h \
+-              modules/reserve-wrap.c modules/reserve-wrap.h
++              modules/reserve-wrap.c modules/reserve-wrap.h \
++              modules/alsa/alsa-sink-old.c modules/alsa/alsa-sink-old.h \
++              modules/alsa/alsa-source-old.c modules/alsa/alsa-source-old.h
+ libalsa_util_la_LDFLAGS = -avoid-version
+ libalsa_util_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS)
+ libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+@@ -1611,6 +1618,16 @@
+ module_alsa_card_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS)
libalsa-util.la
+ module_alsa_card_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+
++module_alsa_sink_old_la_SOURCES = modules/alsa/module-alsa-sink-old.c
++module_alsa_sink_old_la_LDFLAGS = $(MODULE_LDFLAGS)
++module_alsa_sink_old_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS)
libalsa-util.la libpulsecore-@[email protected]
libpulsecommon-@[email protected] libpulse.la
++module_alsa_sink_old_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
++
++module_alsa_source_old_la_SOURCES =
modules/alsa/module-alsa-source-old.c
++module_alsa_source_old_la_LDFLAGS = $(MODULE_LDFLAGS)
++module_alsa_source_old_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS)
libalsa-util.la libpulsecore-@[email protected]
libpulsecommon-@[email protected] libpulse.la
++module_alsa_source_old_la_CFLAGS = $(AM_CFLAGS)
$(ASOUNDLIB_CFLAGS)
++
+ # Solaris
+
+ module_solaris_la_SOURCES = modules/module-solaris.c
+diff -ruN b/src/modules/alsa/alsa-mixer.c c/src/modules/alsa/alsa-mixer.c
+--- b/src/modules/alsa/alsa-mixer.c    2011-04-11 20:35:17.385078001 +0300
++++ c/src/modules/alsa/alsa-mixer.c    2011-04-12 14:11:47.420078000 +0300
+@@ -849,6 +849,37 @@
+     return i + db_fix->min_step;
+ }
+
++/* Finds the closest (rounded up) item in db_fix->db_values and returns the
++ * corresponding register value. *db_value is replaced with the value from
the
++ * db_values table. */
++static long decibel_fix_get_register_value(pa_alsa_decibel_fix *db_fix, long
*db_value) {
++
++    /* Use binary search. */
++
++    unsigned l; /* "left" */
++    unsigned r; /* "right" */
++    unsigned p; /* "probe" */
++
++    pa_assert(db_fix);
++    pa_assert(db_value);
++
++    l = 0;
++    r = db_fix->max_register_value - db_fix->min_register_value;
++
++    while ((p = (r - l) / 2 + l) != r) {
++        if (db_fix->db_values[p]<  *db_value)
++            l = p + 1;
++        else if (db_fix->db_values[p]>  *db_value)
++            r = p;
++        else
++            break;
++    }
++
++    *db_value = db_fix->db_values[p];
++
++    return p + db_fix->min_register_value;
++}
++
+ static int element_set_volume(pa_alsa_element *e, snd_mixer_t *m, const
pa_channel_map *cm, pa_cvolume *v, pa_bool_t write_to_hw) {
+
+     snd_mixer_selem_id_t *sid;
+@@ -3767,6 +3798,128 @@
+     pa_xfree(db_values);
+ }
+
++pa_alsa_decibel_fix *pa_alsa_decibel_fix_parse(
++        const char *str,
++        pa_alsa_profile_set *ps,
++        const char *name,
++        const char *filename,
++        unsigned line) {
++
++    pa_alsa_decibel_fix *db_fix;
++    char **items;
++    char *item;
++    long *db_values;
++    unsigned n = 8; /* Current size of db_values (db_values is reallocated if
the size gets too small). */
++    unsigned min_reg = 0;
++    unsigned max_reg = 0;
++    unsigned i = 0;
++    unsigned prev_reg = 0;
++    double prev_db = 0;
++
++    pa_assert(str);
++    pa_assert(ps);
++    pa_assert(name);
++
++    if (!(items = pa_split_spaces_strv(str))) {
++        pa_log("[%s:%u] Value missing", pa_strnull(filename), line);
++        return NULL;
++    }
++
++    db_values = pa_xnew(long, n);
++
++    while ((item = items[i++])) {
++        char *r = item; /* Register value string. */
++        char *d = item; /* dB value string. */
++        uint32_t reg;
++        double db;
++
++        /* Move d forward until it points to a colon or to the end of item. */
++        for (; *d&&  *d != ':'; ++d);
++
++        if (d == r) {
++            /* item started with colon. */
++            pa_log("[%s:%u] No register value found in %s",
pa_strnull(filename), line, item);
++            goto fail;
++        }
++
++        if (!*d || !*(d + 1)) {
++            /* No colon found, or it was the last character in item. */
++            pa_log("[%s:%u] No dB value found in %s",
pa_strnull(filename), line, item);
++            goto fail;
++        }
++
++        /* pa_atou() needs a null-terminating string. Let's replace the
colon
++         * with a zero byte. */
++        *d++ = '\0';
++
++        if (pa_atou(r,&reg)<  0) {
++            pa_log("[%s:%u] Invalid register value: %s",
pa_strnull(filename), line, r);
++            goto fail;
++        }
++
++        if (pa_atod(d,&db)<  0) {
++            pa_log("[%s:%u] Invalid dB value: %s", pa_strnull(filename),
line, d);
++            goto fail;
++        }
++
++        if (reg<= prev_reg&&  i != 1) {
++            pa_log("[%s:%u] Register value %u not greater than the
previous value %u", pa_strnull(filename), line, reg, prev_reg);
++            goto fail;
++        }
++
++        if (db<  prev_db&&  i != 1) {
++            pa_log("[%s:%u] Decibel value %0.2f less than the previous
value %0.2f", pa_strnull(filename), line, db, prev_db);
++            goto fail;
++        }
++
++        if (i == 1) {
++            min_reg = reg;
++            db_values[0] = (long) (db * 100.0);
++            prev_reg = reg;
++            prev_db = db;
++        } else {
++            /* Interpolate linearly. */
++            double step = (db - prev_db) / (reg - prev_reg);
++
++            for (; prev_reg<  reg; ++prev_reg, prev_db += step) {
++                if (prev_reg + 1 - min_reg == n) {
++                    n *= 2;
++                    db_values = pa_xrenew(long, db_values, n);
++                }
++
++                db_values[prev_reg + 1 - min_reg] = (long) ((prev_db +
step) * 100.0);
++            }
++        }
++
++        max_reg = reg;
++    }
++
++    pa_assert(i>  1);
++
(3852 more lines skipped)

++++++ pulseaudio.yaml
--- pulseaudio.yaml
+++ pulseaudio.yaml
@@ -273,7 +273,7 @@
      - pa-0.9.22-desktop.patch
      - use-a2dp-profile-for-non-mfld.patch
      - fix-9972-auto-route-audio-to-bt-sink.patch
-
+    - pa-0.9.22-add-old-sink-and-source.patch

  Description: |
      PulseAudio is a sound server for Linux and other Unix like operating

_______________________________________________
MeeGo-commits mailing list
[email protected]
http://lists.meego.com/listinfo/meego-commits


_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to