Also might have caused this Netbook audio bug (although not certain):

[REG] No sounds output from system on HP mini
https://bugs.meego.com/show_bug.cgi?id=16192

Thanks,

rs

On 4/15/11 6:08 AM, "Sami SirkiƤ" <[email protected]> wrote:

>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

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

Reply via email to