Hello,

I dare to ask special attention for this group of small fixes.
They are currently holding N900 audio for hostage.

Bug 15950 - "No audio or audio routing on N900 with Pulseaudio 0.9.22"
https://bugs.meego.com/show_bug.cgi?id=15950
It's been classified as 'high' 'critical'.

We made the fixes as small and simple as possible.
- The two fixes in SR#16652 have both been in pulseaudio before.
- SR#16717 will only affect n900 (tested and working)
- SR#16718 removing a few asserts will not break mfld audio. (resource policy which brings this issue up is not even in use. AFAIK)


Note that the 2 SR's that this one (16652) depends on have changed due to cleanup. They are: SR#16717 and SR#16718.
They change the handling of null pointer to be more allowing.
The fix is likely to be temporary until better fix is found.

thank you,
SSirkia

On 04/21/2011 11:50 AM, Sami Sirkia wrote:
Hi,
I have made the following changes to pulseaudio in project devel:multimedia. 
Please review and accept ASAP.

Thank You,
Sami Sirkia

[This message was auto-generated]

---

Request #16652:

   submit:   home:sami.sirkia:branches:devel:multimedia/pulseaudio(r5)(cleanup) 
->  devel:multimedia/pulseaudio


Message:
     This should be merged after SR#16642 and SR16651. They change null pointer 
handling in mainvolume module
for packages pulseaudio-modules-n900 and pulseaudio-modules-mfld.
It this fix is taken alone mainvolume will assert on N900.
Mfld does not use resource policy, so this problem does not occur.

* Tue Apr 19 2011 Sami Sirkia<[email protected]>  - 0.9.22
- Fix for BMC#15950 - No audio or audio routing on N900 with Pulseaudio 0.9.22
   A strict checking of audio driver properties caused a failure to load 
alsamixer paths.
   The patch is temporary but old, so this has to be handled in driver soon.
- Another fix for the same BMC#15950 corrects a input/output typo. We have had 
this fix before in .19.

State:   new          2011-04-21T01:50:27 sami.sirkia
Comment: None



changes files:
--------------
--- pulseaudio.changes
+++ pulseaudio.changes
@@ -0,0 +1,6 @@
+* Tue Apr 19 2011 Sami Sirkia<[email protected]>  - 0.9.22
+- Fix for BMC#15950 - No audio or audio routing on N900 with Pulseaudio 0.9.22
+  A strict checking of audio driver properties caused a failure to load 
alsamixer paths.
+  The patch is temporary but old, so this has to be handled in driver soon.
+- Another fix for the same BMC#15950 corrects a input/output typo. We have had 
this fix before in .19.
+

new:
----
   tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch

spec files:
-----------
--- pulseaudio.spec
+++ pulseaudio.spec
@@ -279,6 +279,7 @@
  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
+Patch258:     tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch
  Requires:   udev>= 145-3
  Requires:   xcb-util
  Requires(post): /sbin/ldconfig
@@ -861,6 +862,8 @@
  %patch256 -p1
  # pa-0.9.22-add-old-sink-and-source.patch
  %patch257 -p1
+# tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch
+%patch258 -p1
  #>>  setup
  #<<  setup


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

++++++ pa-0.9.22-add-old-sink-and-source.patch
--- pa-0.9.22-add-old-sink-and-source.patch
+++ pa-0.9.22-add-old-sink-and-source.patch
@@ -2732,7 +2732,7 @@
  +    if (!(u->mixer_handle = pa_alsa_old_open_mixer(mixer_device)))
  +        return;
  +
-+    if (!(u->mixer_path_set = pa_alsa_path_set_new(mapping, 
PA_ALSA_DIRECTION_OUTPUT))) {
++    if (!(u->mixer_path_set = pa_alsa_path_set_new(mapping, 
PA_ALSA_DIRECTION_INPUT))) {
  +        pa_log_debug("pa_alsa_path_set_new() failed.");
  +        goto fail;
  +    }

++++++ pulseaudio.yaml
--- pulseaudio.yaml
+++ pulseaudio.yaml
@@ -275,6 +275,7 @@
      - 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
+    - tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch

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

++++++ tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch (new)
--- tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch
+++ tmp-alsa-mixer-Adapt-to-conflicting-dB-range-information.patch
+From d17cefcf855128c2e1375666e637937af0400b14 Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen<[email protected]>
+Date: Wed, 19 May 2010 14:38:07 +0300
+Subject: [PATCH 093/172] alsa-mixer: Adapt to conflicting dB range information 
from alsa.
+
+I think this can be classified as a "temporary hack", because in the general
+case we don't know what's the reason for the conflicting dB range information,
+and therefore the solution that's used here for adapting to the situation can't
+be used in all cases.
+---
+ src/modules/alsa/alsa-mixer.c |   13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
+index 3f6aa79..7f16965 100644
+--- a/src/modules/alsa/alsa-mixer.c
++++ b/src/modules/alsa/alsa-mixer.c
+@@ -1279,7 +1279,18 @@ static int element_probe(pa_alsa_element *e, 
snd_mixer_t *m) {
+                                     e->alsa_name,
+                                     min_dB / 100.0, max_dB / 100.0,
+                                     min_dB_checked / 100.0, e->min_volume, 
max_dB_checked / 100.0, e->max_volume);
+-                        return -1;
++                        /*return -1;*/
++
++                        /* FIXME: Returning -1 should be an appropriate 
general
++                         * way to react to a broken driver. The following code
++                         * is a workaround for a known alsa bug, and should be
++                         * removed as soon as the bug gets fixed. This comment
++                         * was written on 2010-05-19. If you're reading this
++                         * many weeks after that date, it's time to remove the
++                         * following three lines of code and return -1 here. 
*/
++                        if (min_dB_checked != SND_CTL_TLV_DB_GAIN_MUTE)
++                            min_dB = min_dB_checked;
++                        max_dB = max_dB_checked;
+                     }
+                 }
+
+--
+1.7.3.2
+

_______________________________________________
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