Re: [pulseaudio-discuss] snd_pcm_avail no reliable
On 09-Jun-2015 11:26 am, "Raymond Yau" wrote: > > >> > >> > >> > > >> > below is what the terminate shows when running pcm_avail.c > >> > > >> > uid=0 gid=1007@nutshell:/ # alsactl_test > >> > min_period_size: 8 frames, dir: 0 > >> > Playback hwparams: FIFO size is 8 > >> > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 > >> > Its setup is: > >> > stream : PLAYBACK > >> > access : RW_INTERLEAVED > >> > format : S16_LE > >> > subformat: STD > >> > channels : 2 > >> > rate : 48000 > >> > exact rate : 48000 (48000/1) > >> > msbits : 16 > >> > buffer_size : 4096 > >> > period_size : 1024 > >> > period_time : 21333 > >> > tstamp_mode : NONE > >> > period_step : 1 > >> > avail_min: 1024 > >> > period_event : 0 > >> > start_threshold : 1024 > >> > stop_threshold : 4096 > >> > silence_threshold: 0 > >> > silence_size : 0 > >> > boundary : 1073741824 > >> > appl_ptr : 0 > >> > hw_ptr : 0 > >> > Playing silence > >> > Available: 0, loop iteration: 0 > >> > Available: 1024, loop iteration: 1469 > >> > Available: 2048, loop iteration: 5609 > >> > Available: 3072, loop iteration: 9667 > >> > > >> > All I got is just the 4 lines. > >> > >> If your sound card only increment hw_ptr only at interrupt occur, you > >> need to increase default_rewind_safeguard from 256 bytes to your > >> selected period size > > > > > > No. PulseAudio, in timer-scheduling mode, does not use periods at all. You need to change the driver so that it reports SNDRV_PCM_INFO_BATCH, so that PulseAudio does not try to use this mode. > > > > > >> > >> This mean that your sound card won't work with timer scheduling or > >> dynamic latency, you can only archieve low latency by decrease period size > >> Why do pulseaudio enable timer scheduling when most sound card use IRQ ? > > > > > > Because most broken sound cards driver authors forget to report SNDRV_PCM_INFO_BATCH? > > Why pulseaudio rely on the flag if your program can find out the granulatity ? AFAIK, there isn't a way to figure out granularity. Having this would be nice as we could be more intelligent about our tsched behaviour. -- Arun ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
>> >> >> > >> > below is what the terminate shows when running pcm_avail.c >> > >> > uid=0 gid=1007@nutshell:/ # alsactl_test >> > min_period_size: 8 frames, dir: 0 >> > Playback hwparams: FIFO size is 8 >> > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 >> > Its setup is: >> > stream : PLAYBACK >> > access : RW_INTERLEAVED >> > format : S16_LE >> > subformat: STD >> > channels : 2 >> > rate : 48000 >> > exact rate : 48000 (48000/1) >> > msbits : 16 >> > buffer_size : 4096 >> > period_size : 1024 >> > period_time : 21333 >> > tstamp_mode : NONE >> > period_step : 1 >> > avail_min: 1024 >> > period_event : 0 >> > start_threshold : 1024 >> > stop_threshold : 4096 >> > silence_threshold: 0 >> > silence_size : 0 >> > boundary : 1073741824 >> > appl_ptr : 0 >> > hw_ptr : 0 >> > Playing silence >> > Available: 0, loop iteration: 0 >> > Available: 1024, loop iteration: 1469 >> > Available: 2048, loop iteration: 5609 >> > Available: 3072, loop iteration: 9667 >> > >> > All I got is just the 4 lines. >> >> If your sound card only increment hw_ptr only at interrupt occur, you >> need to increase default_rewind_safeguard from 256 bytes to your >> selected period size > > > No. PulseAudio, in timer-scheduling mode, does not use periods at all. You need to change the driver so that it reports SNDRV_PCM_INFO_BATCH, so that PulseAudio does not try to use this mode. > > >> >> This mean that your sound card won't work with timer scheduling or >> dynamic latency, you can only archieve low latency by decrease period size >> Why do pulseaudio enable timer scheduling when most sound card use IRQ ? > > > Because most broken sound cards driver authors forget to report SNDRV_PCM_INFO_BATCH? Why pulseaudio rely on the flag if your program can find out the granulatity ? ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
>> >> > >> > below is what the terminate shows when running pcm_avail.c >> > >> > uid=0 gid=1007@nutshell:/ # alsactl_test >> > min_period_size: 8 frames, dir: 0 >> > Playback hwparams: FIFO size is 8 >> > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 >> > Its setup is: >> > stream : PLAYBACK >> > access : RW_INTERLEAVED >> > format : S16_LE >> > subformat: STD >> > channels : 2 >> > rate : 48000 >> > exact rate : 48000 (48000/1) >> > msbits : 16 >> > buffer_size : 4096 >> > period_size : 1024 >> > period_time : 21333 >> > tstamp_mode : NONE >> > period_step : 1 >> > avail_min: 1024 >> > period_event : 0 >> > start_threshold : 1024 >> > stop_threshold : 4096 >> > silence_threshold: 0 >> > silence_size : 0 >> > boundary : 1073741824 >> > appl_ptr : 0 >> > hw_ptr : 0 >> > Playing silence >> > Available: 0, loop iteration: 0 >> > Available: 1024, loop iteration: 1469 >> > Available: 2048, loop iteration: 5609 >> > Available: 3072, loop iteration: 9667 >> > >> > All I got is just the 4 lines. >> >> If your sound card only increment hw_ptr only at interrupt occur, you >> need to increase default_rewind_safeguard from 256 bytes to your >> selected period size > > > No. PulseAudio, in timer-scheduling mode, does not use periods at all. You need to change the driver so that it reports SNDRV_PCM_INFO_BATCH, so that PulseAudio does not try to use this mode. > > >> >> This mean that your sound card won't work with timer scheduling or >> dynamic latency, you can only archieve low latency by decrease period size >> Why do pulseaudio enable timer scheduling when most sound card use IRQ ? > > > Because most broken sound cards driver authors forget to report SNDRV_PCM_INFO_BATCH? > Most driver use irq interrupt , only a few sound cards ( seem less than ten) can report DMA_RESIDUE_GRANULARITY_BURST Why do timer based scheduling enablef by default ? ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
09.06.2015 10:02, Raymond Yau wrote: > > below is what the terminate shows when running pcm_avail.c > > uid=0 gid=1007@nutshell:/ # alsactl_test > min_period_size: 8 frames, dir: 0 > Playback hwparams: FIFO size is 8 > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 > Its setup is: > stream : PLAYBACK > access : RW_INTERLEAVED > format : S16_LE > subformat: STD > channels : 2 > rate : 48000 > exact rate : 48000 (48000/1) > msbits : 16 > buffer_size : 4096 > period_size : 1024 > period_time : 21333 > tstamp_mode : NONE > period_step : 1 > avail_min: 1024 > period_event : 0 > start_threshold : 1024 > stop_threshold : 4096 > silence_threshold: 0 > silence_size : 0 > boundary : 1073741824 > appl_ptr : 0 > hw_ptr : 0 > Playing silence > Available: 0, loop iteration: 0 > Available: 1024, loop iteration: 1469 > Available: 2048, loop iteration: 5609 > Available: 3072, loop iteration: 9667 > > All I got is just the 4 lines. If your sound card only increment hw_ptr only at interrupt occur, you need to increase default_rewind_safeguard from 256 bytes to your selected period size No. PulseAudio, in timer-scheduling mode, does not use periods at all. You need to change the driver so that it reports SNDRV_PCM_INFO_BATCH, so that PulseAudio does not try to use this mode. This mean that your sound card won't work with timer scheduling or dynamic latency, you can only archieve low latency by decrease period size Why do pulseaudio enable timer scheduling when most sound card use IRQ ? Because most broken sound cards driver authors forget to report SNDRV_PCM_INFO_BATCH? -- Alexander E. Patrakov ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
Hi "time based scheduling" is enabled by default, my hardware is ARM for automotive, maybe it is not suitable for the "time based scheduling", I wonder if I smaller the period size would make the snd_pcm_avail more reliable. BR, Lixin 在 2015年06月09日 13:02, Raymond Yau 写道: > > below is what the terminate shows when running pcm_avail.c > > uid=0 gid=1007@nutshell:/ # alsactl_test > min_period_size: 8 frames, dir: 0 > Playback hwparams: FIFO size is 8 > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 > Its setup is: > stream : PLAYBACK > access : RW_INTERLEAVED > format : S16_LE > subformat: STD > channels : 2 > rate : 48000 > exact rate : 48000 (48000/1) > msbits : 16 > buffer_size : 4096 > period_size : 1024 > period_time : 21333 > tstamp_mode : NONE > period_step : 1 > avail_min: 1024 > period_event : 0 > start_threshold : 1024 > stop_threshold : 4096 > silence_threshold: 0 > silence_size : 0 > boundary : 1073741824 > appl_ptr : 0 > hw_ptr : 0 > Playing silence > Available: 0, loop iteration: 0 > Available: 1024, loop iteration: 1469 > Available: 2048, loop iteration: 5609 > Available: 3072, loop iteration: 9667 > > All I got is just the 4 lines. If your sound card only increment hw_ptr only at interrupt occur, you need to increase default_rewind_safeguard from 256 bytes to your selected period size This mean that your sound card won't work with timer scheduling or dynamic latency, you can only archieve low latency by decrease period size Why do pulseaudio enable timer scheduling when most sound card use IRQ ? ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
> > below is what the terminate shows when running pcm_avail.c > > uid=0 gid=1007@nutshell:/ # alsactl_test > min_period_size: 8 frames, dir: 0 > Playback hwparams: FIFO size is 8 > Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 > Its setup is: > stream : PLAYBACK > access : RW_INTERLEAVED > format : S16_LE > subformat: STD > channels : 2 > rate : 48000 > exact rate : 48000 (48000/1) > msbits : 16 > buffer_size : 4096 > period_size : 1024 > period_time : 21333 > tstamp_mode : NONE > period_step : 1 > avail_min: 1024 > period_event : 0 > start_threshold : 1024 > stop_threshold : 4096 > silence_threshold: 0 > silence_size : 0 > boundary : 1073741824 > appl_ptr : 0 > hw_ptr : 0 > Playing silence > Available: 0, loop iteration: 0 > Available: 1024, loop iteration: 1469 > Available: 2048, loop iteration: 5609 > Available: 3072, loop iteration: 9667 > > All I got is just the 4 lines. If your sound card only increment hw_ptr only at interrupt occur, you need to increase default_rewind_safeguard from 256 bytes to your selected period size This mean that your sound card won't work with timer scheduling or dynamic latency, you can only archieve low latency by decrease period size Why do pulseaudio enable timer scheduling when most sound card use IRQ ? ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
Hi below is what the terminate shows when running pcm_avail.c uid=0 gid=1007@nutshell:/ # alsactl_test min_period_size: 8 frames, dir: 0 Playback hwparams: FIFO size is 8 Hardware PCM card 0 'rsnd-dai.0-dirana3.0' device 0 subdevice 0 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S16_LE subformat: STD channels : 2 rate : 48000 exact rate : 48000 (48000/1) msbits : 16 buffer_size : 4096 period_size : 1024 period_time : 21333 tstamp_mode : NONE period_step : 1 avail_min: 1024 period_event : 0 start_threshold : 1024 stop_threshold : 4096 silence_threshold: 0 silence_size : 0 boundary : 1073741824 appl_ptr : 0 hw_ptr : 0 Playing silence Available: 0, loop iteration: 0 Available: 1024, loop iteration: 1469 Available: 2048, loop iteration: 5609 Available: 3072, loop iteration: 9667 All I got is just the 4 lines. BR, Lixin 在 2015年06月09日 11:38, Raymond Yau 写道: > >I found some audio noise problem when I trying to set the sink latency to a lower value. > >here is the alsa dump: > > D/NMAudio ( 1959): Its setup is: > D/NMAudio ( 1959): stream : PLAYBACK > D/NMAudio ( 1959): access : MMAP_INTERLEAVED > D/NMAudio ( 1959): format : S16_LE > D/NMAudio ( 1959): subformat: STD > D/NMAudio ( 1959): channels : 2 > D/NMAudio ( 1959): rate : 22050 > D/NMAudio ( 1959): exact rate : 22050 (22050/1) > D/NMAudio ( 1959): msbits : 16 > D/NMAudio ( 1959): buffer_size : 8192 > D/NMAudio ( 1959): period_size : 2048 > D/NMAudio ( 1959): period_time : 92879 > D/NMAudio ( 1959): tstamp_mode : ENABLE > D/NMAudio ( 1959): period_step : 1 > D/NMAudio ( 1959): avail_min: 7751 > D/NMAudio ( 1959): period_event : 0 > D/NMAudio ( 1959): start_threshold : -1 > D/NMAudio ( 1959): stop_threshold : 1073741824 > D/NMAudio ( 1959): silence_threshold: 0 > D/NMAudio ( 1959): s > >here is the log when problem happened: https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/include/linux/dmaengine.h * @DMA_RESIDUE_GRANULARITY_SEGMENT: Residue is updated after each successfully * completed segment of the transfer (For cyclic transfers this is after each * period). This is typically implemented by having the hardware generate an * interrupt after each transferred segment and then the drivers updates the * outstanding residue by the size of the segment. Another possibility is if * the hardware supports scatter-gather and the segment descriptor has a field * which gets set after the segment has been completed. The driver then counts * the number of segments without the flag set to compute the residue. * @DMA_RESIDUE_GRANULARITY_BURST: Residue is updated after each transferred * burst. This is typically only supported if the hardware has a progress * register of some sort (E.g. a register with the current read/write address * or a register with the amount of bursts/beats/bytes that have been * transferred or still need to be transferred). */ How accurate can you sound card hw_ptr increase ? period size or DMA brust size ? http://mailman.alsa-project.org/pipermail/alsa-devel/2014-September/081501.html you can try Alexander's pcm_avail.c ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] snd_pcm_avail no reliable
> >I found some audio noise problem when I trying to set the sink latency to a lower value. > >here is the alsa dump: > > D/NMAudio ( 1959): Its setup is: > D/NMAudio ( 1959): stream : PLAYBACK > D/NMAudio ( 1959): access : MMAP_INTERLEAVED > D/NMAudio ( 1959): format : S16_LE > D/NMAudio ( 1959): subformat: STD > D/NMAudio ( 1959): channels : 2 > D/NMAudio ( 1959): rate : 22050 > D/NMAudio ( 1959): exact rate : 22050 (22050/1) > D/NMAudio ( 1959): msbits : 16 > D/NMAudio ( 1959): buffer_size : 8192 > D/NMAudio ( 1959): period_size : 2048 > D/NMAudio ( 1959): period_time : 92879 > D/NMAudio ( 1959): tstamp_mode : ENABLE > D/NMAudio ( 1959): period_step : 1 > D/NMAudio ( 1959): avail_min: 7751 > D/NMAudio ( 1959): period_event : 0 > D/NMAudio ( 1959): start_threshold : -1 > D/NMAudio ( 1959): stop_threshold : 1073741824 > D/NMAudio ( 1959): silence_threshold: 0 > D/NMAudio ( 1959): s > >here is the log when problem happened: https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/include/linux/dmaengine.h * @DMA_RESIDUE_GRANULARITY_SEGMENT: Residue is updated after each successfully * completed segment of the transfer (For cyclic transfers this is after each * period). This is typically implemented by having the hardware generate an * interrupt after each transferred segment and then the drivers updates the * outstanding residue by the size of the segment. Another possibility is if * the hardware supports scatter-gather and the segment descriptor has a field * which gets set after the segment has been completed. The driver then counts * the number of segments without the flag set to compute the residue. * @DMA_RESIDUE_GRANULARITY_BURST: Residue is updated after each transferred * burst. This is typically only supported if the hardware has a progress * register of some sort (E.g. a register with the current read/write address * or a register with the amount of bursts/beats/bytes that have been * transferred or still need to be transferred). */ How accurate can you sound card hw_ptr increase ? period size or DMA brust size ? http://mailman.alsa-project.org/pipermail/alsa-devel/2014-September/081501.html you can try Alexander's pcm_avail.c ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] snd_pcm_avail no reliable
Hi all, I found some audio noise problem when I trying to set the sink latency to a lower value. here is the alsa dump: D/NMAudio ( 1959): Its setup is: D/NMAudio ( 1959): stream : PLAYBACK D/NMAudio ( 1959): access : MMAP_INTERLEAVED D/NMAudio ( 1959): format : S16_LE D/NMAudio ( 1959): subformat: STD D/NMAudio ( 1959): channels : 2 D/NMAudio ( 1959): rate : 22050 D/NMAudio ( 1959): exact rate : 22050 (22050/1) D/NMAudio ( 1959): msbits : 16 D/NMAudio ( 1959): buffer_size : 8192 D/NMAudio ( 1959): period_size : 2048 D/NMAudio ( 1959): period_time : 92879 D/NMAudio ( 1959): tstamp_mode : ENABLE D/NMAudio ( 1959): period_step : 1 D/NMAudio ( 1959): avail_min: 7751 D/NMAudio ( 1959): period_event : 0 D/NMAudio ( 1959): start_threshold : -1 D/NMAudio ( 1959): stop_threshold : 1073741824 D/NMAudio ( 1959): silence_threshold: 0 D/NMAudio ( 1959): s here is the log when problem happened: E/NMAudio ( 1959): [1991] ( 355.00387| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00387| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00387| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00387| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00388| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00388| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00388| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00388| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00388| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00388| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00399| 0.010) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00399| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00399| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00405| 0.005) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00405| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00405| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=7531 E/NMAudio ( 1959): [1991] ( 355.00405| 0.000) pcm_avail = 30124 , 7531 D/NMAudio ( 1959): [1991] ( 355.00405| 0.000) avail: 30124, left_to_play: 29.98ms, process_usec=20.00ms, max_sleep_usec=10.00ms D/NMAudio ( 1959): [1991] ( 355.00405| 0.000) Not filling up, because too early. D/NMAudio ( 1959): [1991] ( 355.00405| 0.000) Wakeup from ALSA! D/NMAudio ( 1959): [1991][audioio] snd_pcm_avail[0][0xb344efa0]=9579 E/NMAudio ( 1959): [1991] ( 355.00406| 0.000) pcm_avail = 38316 , 9579 D/NMAudio ( 1959): [1991] ( 355.00406| 0.000) Underrun(sink-state=0)! (alsa-left=38316, whole-buffer=32768) I/NMAudio ( 1959):
Re: [pulseaudio-discuss] Fwd: [alsa-devel] Front speakers doesn't work in multichannel output, regression in ALC888
> > > No change. > > > http://www.alsa-project.org/db/?f=30b3f0087374b914a20dbe20a618fb892a5d6fd5 > > > > Are there any offical specificaion ? > > > > So far most review only mention stereo speakers and subwoofer, the service > > guide only show how to replace two internal speakers > > Service manual mentions > "Dolby®-certified surround sound system with two built-in stereo speakers and > one subwoofer supporting low-frequency effects" > > so all additional channels what I'm hearing in Windows is emulated. I hope > that it is clear now that my laptop has two internal speakers and one > subwoofer. > You have to determine which node 0x16 or 0x17 is your subwoofer and remove the redundant speaker pin fixup >Thanks. I know how to help myself, but I expected it by default. I wonder how > many other users will manage to get their sound working good as before > regression. > And wasn't "model=acer-aspire-4930g" some sort of early patching which was > thrown out of official code? After remove the redundant internal speaker, 5.1 is only available after you change the channel mode Can alsactl restore the channel mode before pulseaudio probe the sound cards ? Auto mic select is not enabled when the notebook has mic jack and line in jack , internl mic As jack retasking is specific to snd-hda-intel and some multi cjannel ac97 codecs It is not easy to force pulseaudio to stop all client connection, reprobe the profiles on board audio after jack retasking hdajackretask also perform the same function stop pulseaudio and using dynamic reconfiguration/early patching For those notebook with headphone spdif combo jack, it need a customised iec958.conf and you can use headphone jack to make iec958 unavailable http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/modules/alsa/mixer/paths/iec958-stereo-output.conf [Jack Headphone] state.plugged = no state.unplugged = unknown ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss