On my ODROID setup (max2play image) with LMS and local squeezelite
connected through HDMI to my AVR (Emotiva UMC-200). Since I wanted to
have variable sampling frequency output, I set up squeezelite not to use
dmixer but plughw/hw of the HDMI audio output directly. I found out
that hw/plughw only supports 16 bits, but at least every sampling rate.
Up to 48kHz samling rate everything plays nice. but with 88.2/96kHz
there are some crackling sounds from time to time. Sounds like data
loss.
I tried lots of buffer settings and many squeezelite variables. But I
did not succeed. htop says that CPU load is very low (each CPU <2%).
Playing hires multichannel PCM audio with another device (Popcornhour
PCH-A400) through the same AVR works perfectly: No crackles, nothing.
Can somebody give me advice? Where could I debug deeper?
My latest and most stable setup is:
Code:
--------------------
./squeezelite -o plughw:CARD=Audio,DEV=0 -a 120::16: -r :800 -d output=debug
[20:33:54.013647] output_init_alsa:809 init output
[20:33:54.013938] output_init_alsa:838 requested alsa_buffer: 120
alsa_period: 4 format: 16 mmap: 1
[20:33:54.014000] output_init_common:342 outputbuf size: 3528000
[20:33:54.014090] output_init_common:366 idle timeout: 0
[20:33:54.025466] output_init_common:405 supported rates: 384000 352800
192000 176400 96000 88200 48000 44100 32000 24000 22500 16000 12000 11025 8000
[20:33:54.085375] output_init_alsa:854 memory locked
[20:33:54.085798] output_thread:630 open output device:
plughw:CARD=Audio,DEV=0
[20:33:54.085818] output_init_alsa:877 set output sched fifo rt: 45
[20:33:54.085934] alsa_open:347 opening device at: 44100
[20:33:54.279871] alsa_open:398 opened device plughw:CARD=Audio,DEV=0 using
format: S16_LE sample rate: 44100 mmap: 1
[20:33:54.280199] alsa_open:477 buffer: 120 period: 4 -> buffer size: 5292
period size: 1323
[20:33:54.307126] set_volume:238 setting internal gain left: 65536 right:
65536
[20:33:54.307712] set_volume:238 setting internal gain left: 65536 right:
65536
[...]
[20:33:54.823148] _output_frames:144 track start sample rate: 88200
replay_gain: 0
[20:33:54.833183] output_thread:630 open output device:
plughw:CARD=Audio,DEV=0
[20:33:54.833554] alsa_open:347 opening device at: 88200
[20:33:54.834358] alsa_open:398 opened device plughw:CARD=Audio,DEV=0 using
format: S16_LE sample rate: 88200 mmap: 1
[20:33:54.834579] alsa_open:477 buffer: 120 period: 4 -> buffer size: 8192
period size: 2048
--------------------
I'm no Linux expert, but I also read out the configuration of the output
stream:
Code:
--------------------
/proc/asound/card0/pcm0p/sub0# cat hw_params
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 96000 (96000/1)
period_size: 2048
buffer_size: 8192
/proc/asound/card0/pcm0p/sub0# cat sw_params
tstamp_mode: NONE
period_step: 1
avail_min: 2048
start_threshold: 1
stop_threshold: 8192
silence_threshold: 0
silence_size: 0
boundary: 1073741824
/proc/asound/card0/pcm0p/sub0# cat info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: Playback HiFi-0
name:
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0
/proc/asound/card0/pcm0p/sub0# cat status
state: RUNNING
owner_pid : 4398
trigger_time: 1714.396631900
tstamp : 1838.412237076
delay : 8207
avail : 0
avail_max : 2048
-----
hw_ptr : 11905024
appl_ptr : 11913216
--------------------
I also tried to setup squeezelite to resample 88.2kHz->44.1kHz and
96kHz->48kHz to get around this annoying problem but I couldn't figure
out the correct command line parameters to do this...
Michael
2167 Alben mit 26564 Titel von 3737 Interpreten.
------------------------------------------------------------------------
Meridion's Profile: http://forums.slimdevices.com/member.php?userid=18619
View this thread: http://forums.slimdevices.com/showthread.php?t=97046
_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/unix