Hello Community I am having issue with pulseaudiosink, I used following command to play a wav file gst-launch filesrc location=<wav file path> ! wavparse ! pulseaudiosink if tsched is enabled, then play of wav file via pulseaudiosink gives me lots of Underrun, and the sound is distorted, following is the pulseaudio log when --log-level=3 I: [pulseaudio] protocol-native.c: Got credentials: uid=0 gid=0 success=1 I: [pulseaudio] sink-input.c: Trying to change sample rate I: [pulseaudio] alsa-sink.c: Updating rate for device hw:0, new rate is 48000 I: [pulseaudio] source.c: Changed sampling rate successfully I: [pulseaudio] sink.c: Changed sampling rate successfully I: [pulseaudio] sink-input.c: Rate changed to 48000 Hz I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Trying resume... I: [alsa-sink-HiFi wm8962-0] alsa-util.c: cannot disable ALSA period wakeups I: [alsa-sink-HiFi wm8962-0] alsa-util.c: ALSA period wakeups were not disabled I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Time scheduling watermark is 18.38ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Resumed successfully... I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Starting playback. I: [pulseaudio] sink-input.c: Created input 0 "pulsesink probe" on alsa_output.platform-sound.analog-s tereo with sample spec s16le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink-input.c: media.name = "pulsesink probe" I: [pulseaudio] sink-input.c: application.name = "gst-launch-0.10" I: [pulseaudio] sink-input.c: native-protocol.peer = "UNIX socket client" I: [pulseaudio] sink-input.c: native-protocol.version = "29" I: [pulseaudio] sink-input.c: application.process.id = "985" I: [pulseaudio] sink-input.c: application.process.user = "root" I: [pulseaudio] sink-input.c: application.process.host = "mx6q" I: [pulseaudio] sink-input.c: application.process.binary = "gst-launch-0.10" I: [pulseaudio] sink-input.c: application.language = "C" I: [pulseaudio] sink-input.c: application.process.machine_id = "0aa7a9566c734f608cbd36f187de8645" I: [pulseaudio] sink-input.c: module-stream-restore.id = "sink-input-by-application-name:gst-launc h-0.10" I: [pulseaudio] protocol-native.c: Requested tlength=250.00 ms, minreq=20.00 ms I: [pulseaudio] protocol-native.c: Final latency 250.00 ms = 105.00 ms + 2*20.00 ms + 105.00 ms I: [pulseaudio] sink-input.c: Freeing input 0 "pulsesink probe" I: [pulseaudio] sink-input.c: Created input 1 "Playback Stream" on alsa_output.platform-sound.analog-s tereo with sample spec s16le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink-input.c: media.name = "Playback Stream" I: [pulseaudio] sink-input.c: application.name = "gst-launch-0.10" I: [pulseaudio] sink-input.c: native-protocol.peer = "UNIX socket client" I: [pulseaudio] sink-input.c: native-protocol.version = "29" I: [pulseaudio] sink-input.c: application.process.id = "985" I: [pulseaudio] sink-input.c: application.process.user = "root" I: [pulseaudio] sink-input.c: application.process.host = "mx6q" I: [pulseaudio] sink-input.c: application.process.binary = "gst-launch-0.10" I: [pulseaudio] sink-input.c: application.language = "C" I: [pulseaudio] sink-input.c: application.process.machine_id = "0aa7a9566c734f608cbd36f187de8645" I: [pulseaudio] sink-input.c: module-stream-restore.id = "sink-input-by-application-name:gst-launc h-0.10" I: [pulseaudio] protocol-native.c: Requested tlength=200.00 ms, minreq=10.00 ms I: [pulseaudio] protocol-native.c: Final latency 200.00 ms = 90.00 ms + 2*10.00 ms + 90.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 28.38 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 38.38 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 48.38 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 58.38 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 68.38 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 78.38 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 80.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 1.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 2.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 4.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 8.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 16.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 26.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 36.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 46.00 ms E: [alsa-sink-HiFi wm8962-0] alsa-sink.c: ALSA woke us up to write new data to the device, but there w as actually nothing to write! E: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Most likely this is a bug in the ALSA driver '(null)'. Pleas e report this issue to the ALSA developers. E: [alsa-sink-HiFi wm8962-0] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent sn d_pcm_avail() returned 0 or another value < min_avail. I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 56.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 66.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 76.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 86.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 96.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 86.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 106.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 96.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 116.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 106.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 126.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 116.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 136.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 126.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Underrun! I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 146.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Underrun! I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 136.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Underrun! I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 156.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 146.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 166.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing wakeup watermark to 156.00 ms I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Increasing minimal latency to 176.00 ms I: [pulseaudio] sink-input.c: Freeing input 1 "Playback Stream" I: [pulseaudio] client.c: Freed 4 "gst-launch-0.10" I: [pulseaudio] protocol-native.c: Connection died. from the log it seems like, when system timer based scheduling is used, then pulseaudio will try to keep minimum watermark/latency, only when Underrun occurs, it will increase watermark/latency. Is this the expected behaviour of pulseaudio 'glict free' feature? And from the log there is some error message complain about ALSA driver E: [alsa-sink-HiFi wm8962-0] alsa-sink.c: ALSA woke us up to write new data to the device, but there w as actually nothing to write! E: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Most likely this is a bug in the ALSA driver '(null)'. Pleas e report this issue to the ALSA developers. E: [alsa-sink-HiFi wm8962-0] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent sn d_pcm_avail() returned 0 or another value < min_avail. does this mean, there is some bug in ALSA driver, or it just indicates the ALSA driver doesn't support glitch free feature very well If play the same wav file again before device enter suspend status, then the result was good, following is the log I: [pulseaudio] protocol-native.c: Got credentials: uid=0 gid=0 success=1 I: [pulseaudio] sink-input.c: Created input 4 "pulsesink probe" on alsa_output.platform-sound.analog-s tereo with sample spec s16le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink-input.c: media.name = "pulsesink probe" I: [pulseaudio] sink-input.c: application.name = "gst-launch-0.10" I: [pulseaudio] sink-input.c: native-protocol.peer = "UNIX socket client" I: [pulseaudio] sink-input.c: native-protocol.version = "29" I: [pulseaudio] sink-input.c: application.process.id = "688" I: [pulseaudio] sink-input.c: application.process.user = "root" I: [pulseaudio] sink-input.c: application.process.host = "mx6q" I: [pulseaudio] sink-input.c: application.process.binary = "gst-launch-0.10" I: [pulseaudio] sink-input.c: application.language = "C" I: [pulseaudio] sink-input.c: application.process.machine_id = "0aa7a9566c734f608cbd36f187de8645" I: [pulseaudio] sink-input.c: module-stream-restore.id = "sink-input-by-application-name:gst-launc h-0.10" I: [pulseaudio] protocol-native.c: Requested tlength=250.00 ms, minreq=20.00 ms I: [pulseaudio] protocol-native.c: Final latency 392.00 ms = 176.00 ms + 2*20.00 ms + 176.00 ms I: [pulseaudio] sink-input.c: Freeing input 4 "pulsesink probe" I: [pulseaudio] sink-input.c: Created input 5 "Playback Stream" on alsa_output.platform-sound.analog-s tereo with sample spec s16le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink-input.c: media.name = "Playback Stream" I: [pulseaudio] sink-input.c: application.name = "gst-launch-0.10" I: [pulseaudio] sink-input.c: native-protocol.peer = "UNIX socket client" I: [pulseaudio] sink-input.c: native-protocol.version = "29" I: [pulseaudio] sink-input.c: application.process.id = "688" I: [pulseaudio] sink-input.c: application.process.user = "root" I: [pulseaudio] sink-input.c: application.process.host = "mx6q" I: [pulseaudio] sink-input.c: application.process.binary = "gst-launch-0.10" I: [pulseaudio] sink-input.c: application.language = "C" I: [pulseaudio] sink-input.c: application.process.machine_id = "0aa7a9566c734f608cbd36f187de8645" I: [pulseaudio] sink-input.c: module-stream-restore.id = "sink-input-by-application-name:gst-launc h-0.10" I: [pulseaudio] protocol-native.c: Requested tlength=200.00 ms, minreq=10.00 ms I: [pulseaudio] protocol-native.c: Final latency 372.00 ms = 176.00 ms + 2*10.00 ms + 176.00 ms I: [pulseaudio] sink-input.c: Freeing input 5 "Playback Stream" I: [pulseaudio] client.c: Freed 6 "gst-launch-0.10" I: [pulseaudio] protocol-native.c: Connection died. I: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.platform-sound.analog-stereo idle for too l ong, suspending ... I: [alsa-sink-HiFi wm8962-0] alsa-sink.c: Device suspended... If set tsched=0 to use interrupt based scheduling, then I got good sound Thanks, Jiada