Summary: | Audio skips and repeats when increasing volume in applications | ||
---|---|---|---|
Product: | PulseAudio | Reporter: | Yomi <abyomi0> |
Component: | core | Assignee: | pulseaudio-bugs |
Status: | RESOLVED MOVED | QA Contact: | pulseaudio-bugs |
Severity: | normal | ||
Priority: | medium | CC: | lennart |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Yomi
2014-11-25 01:17:34 UTC
you have to provide pulseaudio log with log time by uncomment log time in deamon.conf Took a bit, but I got it. https://gist.github.com/Yomi0/7c3158577999fd2447cf Anything else? ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Path analog-output (Analog Output), direction=1, priority=99, probed=yes, supported=yes, has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0, max_volume=87, min_dB=-116.25, max_dB=0 ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Element Master, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x7ffffffffffff, n_channels=1, override_map=yes ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Element Headphone, direction=1, switch=1, volume=3, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=no ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Element Speaker, direction=1, switch=1, volume=2, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=no ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Element PCM, direction=1, switch=0, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x3600000000f66, n_channels=2, override_map=yes ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Jack Line Out, alsa_name='Line Out Jack', detection unavailable ( 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Jack Line Out Phantom, alsa_name='Line Out Phantom Jack', detection unavailable ( 0.113| 0.000) I: [pulseaudio] alsa-sink.c: Successfully enabled deferred volume. ( 0.114| 0.000) I: [pulseaudio] alsa-sink.c: Hardware volume ranges from -116.25 dB to 0.00 dB. ( 0.114| 0.000) I: [pulseaudio] alsa-sink.c: Fixing base volume to 0.00 dB ( 0.114| 0.000) I: [pulseaudio] alsa-sink.c: Using hardware volume control. Hardware dB scale supported. ( 0.114| 0.000) I: [pulseaudio] alsa-sink.c: Using hardware mute control. ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: snd_pcm_dump(): ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: Soft volume PCM ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: Control: PCM Playback Volume ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: min_dB: -51 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: max_dB: 0 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: resolution: 256 softvol plugin is -51dB to 0 dB, as hp and speaker are different path and you cannot add dB range of hp and speaker a) the vitrual master playback volume and hp playback volume b) the virtual master playback volume and speaker volume the dB range of these two paths are -116.25 +51 = -55.25 dB to 0dB what are the stepsize of the hp and speaker playback volume controls? the stepsize of hda codecs are multiple of 0.25dB seem always use software volume as the hardware volume alone cannot set to -5.81 dB 6.182| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Requested volume: front-left: 52428 / 80% / -5.81 dB, front-right: 52428 / 80% / -5.81 dB ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Got hardware volume: front-left: 52761 / 81% / -5.65 dB, front-right: 52761 / 81% / -5.65 dB ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Calculated software volume: front-left: 65122 / 99% / -0.17 dB, front-right: 65122 / 99% / -0.17 dB (accurate-enough=yes) ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Volume going down to 52428 at 4188579532 0.114| 0.000) D: [pulseaudio] alsa-util.c: stream : PLAYBACK ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: access : MMAP_INTERLEAVED ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: format : S16_LE ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: subformat : STD ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: channels : 2 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: rate : 44100 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: exact rate : 44100 (44100/1) ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: msbits : 16 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: buffer_size : 88192 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: period_size : 44096 ( 0.114| 0.000) D: [pulseaudio] alsa-util.c: period_time : 999909 as pulseaudio use a buffer of about two seconds, the mean that every volume change will need pulseaudio rewind, recalculated the audio and write back You need me to find the stepsize of hp and speaker playback volume? How? Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out Control: name="Headphone Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Device: name="ALC269VB Analog", type="Audio", device=0 Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0 Amp-Out vals: [0x57 0x57] no of steps is 87 and stepsize is 0.75 87 * 0.75 = 65.25 Alsactl output !!------------- --startcollapse-- state.Intel { control.1 { iface MIXER name 'Headphone Playback Volume' value.0 87 value.1 87 comment { access 'read write' type INTEGER count 2 range '0 - 87' dbmin -6525 dbmax 0 dbvalue.0 0 dbvalue.1 0 } } 0.113| 0.000) D: [pulseaudio] alsa-mixer.c: Path analog-output (Analog Output), direction=1, priority=99, probed=yes, supported=yes, has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0, max_volume=87, min_dB=-116.25, max_dB=0 if it always keep pcm softvol to 0dB , why add the dB range of pcm softvol but not the steps to analog output path 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Volume going down to 52428 at 4188579532 ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 1990463 usec ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Requested to rewind 352768 bytes. ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Limited to 352268 bytes. ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: before: 88067 ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: after: 88067 ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Rewound 352268 bytes. ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Processing rewind... ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: latency = 1358 ( 6.183| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Volume change to 52428 at 4186582562 was written 6642 usec late ( 8.187| 2.003) D: [alsa-sink-ALC269VB Analog] sink-input.c: Have to rewind 352268 bytes on render memblockq. ( 8.187| 0.000) D: [alsa-sink-ALC269VB Analog] source.c: Processing rewind... ( 8.187| 0.000) D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. ( 8.192| 0.004) D: [pulseaudio] protocol-native.c: Client mpv changes volume of sink input mpv - [HorribleSubs] Fate Stay Night - Unlimited Blade Works - 01v2 [720p].mkv. ( 11.219| 3.027) D: [alsa-sink-ALC269VB Analog] protocol-native.c: Requesting rewind due to end of underrun. ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Requested to rewind 352768 bytes. ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Limited to 14512 bytes. ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: before: 3628 ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: after: 3628 ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Rewound 14512 bytes. ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Processing rewind... ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: latency = 1326 ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] sink-input.c: Have to rewind 14512 bytes on render memblockq. ( 11.219| 0.000) D: [alsa-sink-ALC269VB Analog] source.c: Processing rewind... ( 12.302| 1.082) D: [pulseaudio] protocol-native.c: Client mpv changes volume of sink input mpv - [HorribleSubs] Fate Stay Night - Unlimited Blade Works - 01v2 [720p].mkv. ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Requested volume: front-left: 51118 / 78% / -6.47 dB, front-right: 51118 / 78% / -6.47 dB ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Got hardware volume: front-left: 51264 / 78% / -6.40 dB, front-right: 51264 / 78% / -6.40 dB ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Calculated software volume: front-left: 65349 / 100% / -0.07 dB, front-right: 65349 / 100% / -0.07 dB (accurate-enough=yes) ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Volume going down to 51118 at 4192781310 ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 72898 usec ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 72854 usec ( 12.302| 0.000) I: [pulseaudio] module-stream-restore.c: Storing volume/mute/device for stream sink-input-by-media-role:video. ( 12.302| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 72429 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 72383 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 72345 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 72305 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 71788 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 71696 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 71650 usec ( 12.303| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 71609 usec ( 12.304| 0.000) D: [alsa-sink-ALC269VB Analog] sink.c: Next volume change in 70985 usec ( 12.375| 0.071) D: [alsa-sink-ALC269VB Analog] sink.c: Volume change to 51118 at 4192781310 was written 54 usec late ( 14.380| 2.005) D: [alsa-sink-ALC269VB Analog] alsa-sink.c: Written HW volume did not match with the request: front-left: 51118 / 78% / -6.47 dB, front-right: 51118 / 78% / -6.47 dB (request) != front-left: 50580 / 77% / -6.75 dB, front-right: 50580 / 77% / -6.75 dB I'm a little confused. Is there a command you need to me execute to provide more information? I got this from the alsa-info.sh script... https://gist.github.com/Yomi0/e581ca6d513fd0f532f7 http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/HDA-Intel.conf;hb=HEAD do it help if you remove softvol plugin from front device ? may need reboot and check whether the softvol volume control is really removed -Intel.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { - type softvol - slave.pcm { - type hw - card $CARD - subdevice 0 - } - control { - name "PCM Playback Volume" - card $CARD - } + type hw + card $CARD } capture.pcm { type hw card $CARD } } That seems to work, but then if I open pavucontrol, HDMI won't appear as an audio output. (In reply to Yomi from comment #12) > That seems to work, but then if I open pavucontrol, HDMI won't appear as an > audio output. It also seems to mess around with the volume of outputs. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/439. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.