Hi All,

I've been testing pulseaudio-3.0 and now I have some questions. Is there any updated documentation available describing the usage of UCM in pulsaudio and can the current UCM implementation handle multiple soundcards? I plan to use two or three soundcards (all having there own UCM configuration) and I'd like to use them with "module-loopback".


During testing I also run into some issues. With my current configuration [1], I get a double-free, due missing modifiers. I solved this with the attached patch [2]. But then I hit the assertation in file src/modules/alsa/alsa-ucm.c function ucm_get_device_property:250

    pa_assert(device->playback_channels || device->capture_channels);

I assume that this is the result of some missing entries in the UCM config, but I can't see my issue.



Thanks,
Soeren


[1] ucm-configs.tar.xz
[2] fix-double-free.patch
--
Avionic Design GmbH
Soeren Grunewald
Wragekamp 10
D-22397 Hamburg
Germany

Tel.: + 49 40 88187-107
Fax: + 49 40 88187-150
Email: soeren.grunewaldavionic-design.de

Avionic Design GmbH
Amtsgericht Hamburg HRB 82598
Geschäftsführung: Cornelis Broers, Sven Räcker, Jan Palle
Ust.-Ident-Nr.: DE813378254

Diese E-Mail kann vertrauliche und/oder rechtlich geschützte Informationen
enthalten. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie die unerlaubte
Weitergabe dieser E-Mail ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender and destroy this e-mail. Any unauthorised copying,
disclosure or distribution of the material in this e-mail is strictly
forbidden.

diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
index 80e98ea..cf713ce 100644
--- a/src/modules/alsa/alsa-ucm.c
+++ b/src/modules/alsa/alsa-ucm.c
@@ -385,6 +385,8 @@ static int ucm_get_modifiers(pa_alsa_ucm_verb *verb, snd_use_case_mgr_t *uc_mgr)
     num_mod = snd_use_case_get_list(uc_mgr, "_modifiers", &mod_list);
     if (num_mod < 0)
         return num_mod;
+    if (num_mod == 0)
+        return -ENODATA;
 
     for (i = 0; i < num_mod; i += 2) {
         pa_alsa_ucm_modifier *m;

Attachment: ucm-configs.tar.xz
Description: application/xz

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to