[pulseaudio-commits] r1827 - /branches/lennart/src/modules/module-alsa-sink.c

svnmailer-noreply at 0pointer.de svnmailer-noreply at 0pointer.de
Sun Sep 16 08:09:46 PDT 2007


Author: lennart
Date: Sun Sep 16 17:09:45 2007
New Revision: 1827

URL: http://0pointer.de/cgi-bin/viewcvs.cgi?rev=1827&root=pulseaudio&view=rev
Log:
be a little bit more elaborate on the reason why we drop to software volume control if hw is not featureful enough for us

Modified:
    branches/lennart/src/modules/module-alsa-sink.c

Modified: branches/lennart/src/modules/module-alsa-sink.c
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/branches/lennart/src/modules/module-alsa-sink.c?rev=1827&root=pulseaudio&r1=1826&r2=1827&view=diff
==============================================================================
--- branches/lennart/src/modules/module-alsa-sink.c (original)
+++ branches/lennart/src/modules/module-alsa-sink.c Sun Sep 16 17:09:45 2007
@@ -234,7 +234,7 @@
                     
         l = snd_pcm_status_get_avail(status) * u->frame_size;
 
-/*                     pa_log("%u bytes to write", l); */
+/*         pa_log("%u bytes to write", l); */
                     
         if (l <= 0)
             return work_done;
@@ -248,7 +248,7 @@
         t = snd_pcm_writei(u->pcm_handle, (const uint8_t*) p + u->memchunk.index, u->memchunk.length / u->frame_size);
         pa_memblock_release(u->memchunk.memblock);
                     
-/*                     pa_log("wrote %i bytes of %u (%u)", t*u->frame_size, u->memchunk.length, l);   */
+/*         pa_log("wrote %i bytes of %u (%u)", t*u->frame_size, u->memchunk.length, l); */
                     
         pa_assert(t != 0);
                     
@@ -834,16 +834,17 @@
         if (snd_mixer_selem_has_playback_volume(u->mixer_elem)) {
             int i;
 
-            for (i = 0;i < ss.channels; i++) {
+            for (i = 0; i < ss.channels; i++)
                 if (!snd_mixer_selem_has_playback_channel(u->mixer_elem, i))
                     break;
-            }
 
             if (i == ss.channels) {
+                pa_log_debug("ALSA device has separate volumes controls for all %u channels.", ss.channels);
                 u->sink->get_volume = sink_get_volume_cb;
                 u->sink->set_volume = sink_set_volume_cb;
                 snd_mixer_selem_get_playback_volume_range(u->mixer_elem, &u->hw_volume_min, &u->hw_volume_max);
-            }
+            } else
+                pa_log_info("ALSA device lacks separate volumes controls for all %u channels (%u available), falling back to software volume control.", ss.channels, i+1);
         }
         
         if (snd_mixer_selem_has_playback_switch(u->mixer_elem)) {




More information about the pulseaudio-commits mailing list