2009/12/4 pl bossart <bossart.nospam@xxxxxxxxx> > Hi Raymond, > comments below. > - PL > > On Wed, Dec 2, 2009 at 8:26 PM, Raymond Yau <superquad.vortex2@xxxxxxxxx> > wrote: > > 1. D: alsa-util.c: Trying front:0 with SND_PCM_NO_AUTO_FORMAT ... > > 2. D: alsa-util.c: Managed to open front:0 > > 3. D: alsa-util.c: Maximum hw buffer size is 371 ms > > 4. D: alsa-util.c: Set buffer size first (to 4408 samples), period size > > second (to 1102 samples) > > > > What is the purpose of these buffer-size and period size during the > probing > > phase ? > > The PA server seem use different values > > This is a red herring, PulseAudio tries to open multiple profiles and > finds out which ones make sense. You want to look at the result below > which is the final configuration. > > > 1. I: sink.c: Created sink 0 > "alsa_output.pci-0000_00_1e.2.analog-stereo" > > with sample spec s16le 2ch 44100Hz and channel map > front-left,front-right > > 2. I: sink.c: alsa.resolution_bits = "16" > > 3. I: sink.c: device.api = "alsa" > > 4. I: sink.c: device.class = "sound" > > 5. I: sink.c: alsa.class = "generic" > > 6. I: sink.c: alsa.subclass = "generic-mix" > > 7. I: sink.c: alsa.name = "Intel ICH6" > > 8. I: sink.c: alsa.id = "Intel ICH" > > 9. I: sink.c: alsa.subdevice = "0" > > 10. I: sink.c: alsa.subdevice_name = "subdevice #0" > > 11. I: sink.c: alsa.device = "0" > > 12. I: sink.c: alsa.card = "0" > > 13. I: sink.c: alsa.card_name = "Intel ICH6" > > 14. I: sink.c: alsa.long_card_name = "Intel ICH6 with AD1981B at > irq > > 22" > > 15. I: sink.c: alsa.driver_name = "snd_intel8x0" > > 16. I: sink.c: device.bus_path = "pci-0000:00:1e.2" > > 17. I: sink.c: sysfs.path = > > "/devices/pci0000:00/0000:00:1e.2/sound/card0" > > 18. I: sink.c: device.bus = "pci" > > 19. I: sink.c: device.vendor.id = "8086" > > 20. I: sink.c: device.vendor.name = "Intel Corporation" > > 21. I: sink.c: device.product.id = "266e" > > 22. I: sink.c: device.product.name = "82801FB/FBM/FR/FW/FRW (ICH6 > > Family) AC'97 Audio Controller" > > 23. I: sink.c: device.form_factor = "internal" > > 24. I: sink.c: hal.udi = > > "/org/freedesktop/Hal/devices/pci_8086_266e_sound_card_0" > > 25. I: sink.c: hal.product = "Intel ICH6 with AD1981B Sound Card" > > 26. I: sink.c: hal.card_id = "Intel ICH6 with AD1981B" > > 27. I: sink.c: device.string = "front:0" > > 28. I: sink.c: device.buffering.buffer_size = "65536" > > 29. I: sink.c: device.buffering.fragment_size = "65536" > > 30. I: sink.c: device.access_mode = "mmap+timer" > > 31. I: sink.c: device.profile.name = "analog-stereo" > > 32. I: sink.c: device.profile.description = "Analog Stereo" > > 33. I: sink.c: device.description = "Internal Audio Analog Stereo" > > 34. I: sink.c: alsa.mixer_name = "Analog Devices AD1981B" > > 35. I: sink.c: alsa.components = "AC97a:41445374" > > 36. I: sink.c: module-udev-detect.discovered = "1" > > 37. I: sink.c: device.icon_name = "audio-card-pci" > > > intel8x0 does not has hdmi , it seem PA hardcode hdmi for all sound cards > > instead of using namehint for playback device > > Yes, PA will try all possible profiles. Not that smart but unrelated > to my problem. > > > > Is it possible to add timestamp in alsa-sink.c: Wrote 31792 bytes (of > > possible 31792 bytes) statement for debugging > > Not sure why this is needed. In that case the driver reports 7948 > frames are available, which translates to 31792 bytes. > The problem shows in the next call to snd_pcm_avail down to the kernel > level, PA only uses the misleading information reported by the driver. > > 17. hwptr 24351 buffer 16384 appl 24332, avail=16403 appl pointer is behind hwprtr ( underrun ) , need timestamp to find out whether PA is unable to write audio data in time since > 13. D: alsa-sink.c: Not filling up, because too early. > 14. D: alsa-sink.c: Wakeup from ALSA! > 15. D: alsa-sink.c: Loop > 16. D: alsa-sink.c: Buffer time: 371 ms; Sleep time: 351 ms; Process > time: 20 ms did it adjust the sleeping time when it think too early ? > > > 1. D: alsa-sink.c: Loop > > 2. D: alsa-sink.c: Buffer time: 371 ms; Sleep time: 351 ms; Process > time: > > 20 ms > > 3. hwptr 7948 buffer 16384 appl 16384, avail=7948 > > 4. D: alsa-sink.c: avail: 31792 (samples 7948) > > 5. D: alsa-sink.c: 191.29 ms left to play; inc threshold = 0.00 ms; dec > > threshold = 100.00 ms > > 6. D: alsa-sink.c: Filling up > > 7. hwptr 7948 buffer 16384 appl 16384, avail=7948 > > 8. hwptr 7948 buffer 16384 appl 16384, avail=7948 > > 9. D: alsa-sink.c: Wrote 31792 bytes (of possible 31792 bytes) > > 10. hwptr 7960 buffer 16384 appl 24332, avail=12 > > 11. D: alsa-sink.c: avail: 48 (samples 12) > > 12. D: alsa-sink.c: 371.25 ms left to play; inc threshold = 0.00 ms; > dec > > threshold = 100.00 ms > > 13. D: alsa-sink.c: Not filling up, because too early. > > 14. D: alsa-sink.c: Wakeup from ALSA! > > 15. D: alsa-sink.c: Loop > > 16. D: alsa-sink.c: Buffer time: 371 ms; Sleep time: 351 ms; Process > > time: 20 ms > > 17. hwptr 24351 buffer 16384 appl 24332, avail=16403 > > 18. E: alsa-util.c: avail 16403 delay -19 > > 19. D: alsa-sink.c: avail: 65536 (samples 16384) > > 20. D: alsa-sink.c: 0.00 ms left to play; inc threshold = 0.00 ms; dec > > threshold = 100.00 ms > > 21. D: alsa-sink.c: Filling up > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel