Since this is my first post, let me start by saying thank you to all the devs and community for a great product.
I am having a weird problem that I need help figuring out. When I stream from LMS to squeezelite the music sometimes stops playing for 20-30 seconds and then resumes playing again.
After a bit of troubleshooting I figured out that this happens because of the buffer underrun condition, but I don't know what is causing it.
On the server side I am running LMS v8.1.1 on virtualized Ubuntu 20.04.2 LTS. On the client side I started with Squeezelite-X on Windows 10, but then switched to plain squeezelite to help with troubleshooting.
squeezelite startup:
squeezelite streaming song that stops playing:
LMS log to follow.
I am having a weird problem that I need help figuring out. When I stream from LMS to squeezelite the music sometimes stops playing for 20-30 seconds and then resumes playing again.
After a bit of troubleshooting I figured out that this happens because of the buffer underrun condition, but I don't know what is causing it.
On the server side I am running LMS v8.1.1 on virtualized Ubuntu 20.04.2 LTS. On the client side I started with Squeezelite-X on Windows 10, but then switched to plain squeezelite to help with troubleshooting.
squeezelite startup:
Code:
D:\squeezelite-x64.exe -n Bob -s lms.network.lan -C 60 -o Topping E30 (2- TOPPING USB DAC) [Windows WASAPI] -m 00:02:c9:aa:bb:cc -M Squeezelite-X -d all=debug -f squeezelite_03.log [01:07:59.299] stream_init:454 init stream [01:07:59.299] stream_init:455 streambuf size: 2097152 [01:07:59.299] output_init_pa:573 init output [01:07:59.299] output_init_pa:593 requested latency: 0 [01:07:59.352] output_init_common:360 outputbuf size: 3528000 [01:07:59.352] output_init_common:384 idle timeout: 60000 [01:07:59.368] output_init_common:432 supported rates: 44100 [01:07:59.368] decode_init:153 init decode [01:07:59.368] register_dsd:908 using dsd to decode dsf,dff [01:07:59.368] register_alac:549 using alac to decode alc [01:07:59.368] pa_monitor:275 start monitor thread [01:07:59.430] register_faad:663 using faad to decode aac [01:07:59.430] register_vorbis:385 using vorbis to decode ogg [01:07:59.430] register_opus:329 using opus to decode ops [01:07:59.430] register_flac:332 using flac to decode ogf,flc [01:07:59.430] register_pcm:483 using pcm to decode aif,pcm [01:07:59.430] register_mad:423 using mad to decode mp3 [01:07:59.430] decode_init:194 include codecs: exclude codecs: [01:07:59.430] slimproto:898 connecting to 192.168.10.17:3483 [01:07:59.430] slimproto:937 connected [01:07:59.430] sendHELO:148 mac: 00:02:c9:aa:bb:cc [01:07:59.430] sendHELO:150 cap: CanHTTPS=1,Model=squeezelite,AccuratePlayPoints=1,HasDigitalOut=1,HasPolarityInversion=1,Balance=1,Firmware=v1.9.9-1386,ModelName=Squeezelite-X,MaxSampleRate=44100,dsf,dff,alc,aac,ogg,ops,ogf,flc,aif,pcm,mp3 [01:07:59.430] process:528 strm [01:07:59.430] process_strm:280 strm command q [01:07:59.430] decode_flush:236 decode flush [01:07:59.430] output_flush:445 flush output buffer [01:07:59.430] sendSTAT:195 STAT: STMf [01:07:59.446] process:528 strm [01:07:59.446] process_strm:280 strm command q [01:07:59.446] decode_flush:236 decode flush [01:07:59.446] output_flush:445 flush output buffer [01:07:59.446] sendSTAT:195 STAT: STMf [01:07:59.446] process:528 setd [01:07:59.446] sendSETDName:254 set playername: Bob [01:07:59.446] process:528 setd [01:07:59.446] process:528 aude [01:07:59.446] process_aude:422 enable spdif: 1 dac: 1 [01:07:59.446] process:528 audg [01:07:59.446] process_audg:440 audg gainL: 0 gainR: 0 adjust: 1 [01:07:59.446] set_volume:111 setting internal gain left: 0 right: 0 [01:08:04.301] process:528 strm [01:08:04.301] process_strm:280 strm command t [01:08:04.301] sendSTAT:195 STAT: STMt [01:08:08.296] process:528 strm
Code:
[01:08:54.963] decode_thread:100 decode complete [01:08:54.963] sendSTAT:195 STAT: STMd [01:08:54.963] sendSTAT:195 STAT: STMt [01:08:54.980] process:528 strm [01:08:54.980] process_strm:280 strm command s [01:08:54.980] process_strm:350 strm s autostart: 1 transition period: 10 transition type: 0 codec: m [01:08:54.980] sendSTAT:195 STAT: STMf [01:08:54.980] codec_open:264 codec open: 'm' [01:08:54.980] connect_socket:164 connecting to 192.168.10.17:9000 [01:08:54.991] stream_sock:600 header: GET /stream.mp3?player=00:02:c9:aa:bb:cc HTTP/1.0 [01:08:54.991] sendSTAT:195 STAT: STMc [01:08:54.991] process_strm:384 set fade mode: 0, channels: 0, invert: 0 [01:08:54.991] process:528 audg [01:08:54.991] process_audg:440 audg gainL: 65536 gainR: 65536 adjust: 1 [01:08:54.991] set_volume:111 setting internal gain left: 65536 right: 65536 [01:08:55.044] stream_thread:331 headers: len: 491 HTTP/1.1 200 OK Server: Logitech Media Server (8.1.1 - 1610364019) Connection: close Content-Type: audio/mpeg Set-Cookie: Squeezebox-albumView=; path=/ Set-Cookie: Squeezebox-expandPlayerControl=true; path=/ Set-Cookie: Squeezebox-expanded-MY_MUSIC=1; path=/ Set-Cookie: Squeezebox-expanded-FAVORITES=0; path=/ Set-Cookie: Squeezebox-expanded-PLUGINS=0; path=/ Set-Cookie: Squeezebox-expanded-PLUGIN_MY_APPS_MODULE_NAME=0; path=/ Set-Cookie: Squeezebox-expanded-RADIO=0; path=/ [01:08:55.044] sendRESP:226 RESP [01:08:55.064] _check_lame_header:163 gapless: skip: 2257 samples: 10164756 delay: 1105 padding: 1691 [01:08:55.064] mad_decode:247 setting track_start [01:08:55.064] mad_decode:276 gapless: skipping 1152 frames at start [01:08:55.064] mad_decode:276 gapless: skipping 1105 frames at start [01:08:55.306] process:528 strm [01:08:55.306] process_strm:280 strm command t [01:08:55.306] sendSTAT:195 STAT: STMt [01:08:56.307] sendSTAT:195 STAT: STMt [01:08:58.309] sendSTAT:195 STAT: STMt [01:08:59.307] process:528 strm [01:08:59.307] process_strm:280 strm command t [01:08:59.307] sendSTAT:195 STAT: STMt [01:09:00.308] sendSTAT:195 STAT: STMt [01:09:02.309] sendSTAT:195 STAT: STMt [01:09:03.307] process:528 strm [01:09:03.307] process_strm:280 strm command t [01:09:03.307] sendSTAT:195 STAT: STMt [01:09:04.308] sendSTAT:195 STAT: STMt [01:09:04.386] _output_frames:153 track start sample rate: 44100 replay_gain: 0 [01:09:04.386] pa_callback:525 pad with silence [01:09:05.308] sendSTAT:195 STAT: STMs [01:09:06.308] sendSTAT:195 STAT: STMt [01:09:07.307] process:528 strm [01:09:07.307] process_strm:280 strm command t [01:09:07.307] sendSTAT:195 STAT: STMt [01:09:08.307] sendSTAT:195 STAT: STMt [01:09:10.308] sendSTAT:195 STAT: STMt [01:09:11.306] process:528 strm ... [01:11:47.302] process_strm:280 strm command t [01:11:47.302] sendSTAT:195 STAT: STMt [01:11:49.304] sendSTAT:195 STAT: STMt [01:11:49.304] sendSTAT:195 STAT: STMo <-- buffer underrun [01:11:49.309] process:528 strm [01:11:49.309] process_strm:280 strm command p [01:11:49.309] sendSTAT:195 STAT: STMp [01:11:49.309] process_strm:316 pause interval: 0 [01:11:49.437] process:528 strm [01:11:49.437] process_strm:280 strm command t [01:11:49.437] sendSTAT:195 STAT: STMt [01:11:49.738] process:528 strm ... [01:12:20.155] process_strm:280 strm command t [01:12:20.155] sendSTAT:195 STAT: STMt [01:12:20.457] process:528 strm [01:12:20.457] process_strm:280 strm command q [01:12:20.457] decode_flush:236 decode flush [01:12:20.457] output_flush:445 flush output buffer [01:12:20.457] sendSTAT:195 STAT: STMf [01:12:20.471] process:528 audg [01:12:20.471] process_audg:440 audg gainL: 65536 gainR: 65536 adjust: 1 [01:12:20.471] set_volume:111 setting internal gain left: 65536 right: 65536 [01:12:20.473] process:528 strm [01:12:20.473] process_strm:280 strm command s <-- starts playing music again [01:12:20.473] process_strm:350 strm s autostart: 1 transition period: 10 transition type: 0 codec: m [01:12:20.473] sendSTAT:195 STAT: STMf [01:12:20.473] codec_open:264 codec open: 'm' [01:12:20.473] connect_socket:164 connecting to 192.168.10.17:9000 [01:12:20.484] stream_sock:600 header: GET /stream.mp3?player=00:02:c9:aa:bb:cc HTTP/1.0 [01:12:20.484] sendSTAT:195 STAT: STMc [01:12:20.484] process_strm:384 set fade mode: 0, channels: 0, invert: 0 [01:12:20.484] process:528 audg [01:12:20.484] process_audg:440 audg gainL: 65536 gainR: 65536 adjust: 1 [01:12:20.484] set_volume:111 setting internal gain left: 65536 right: 65536 [01:12:20.562] stream_thread:331 headers: len: 491 HTTP/1.1 200 OK Server: Logitech Media Server (8.1.1 - 1610364019) Connection: close Content-Type: audio/mpeg Set-Cookie: Squeezebox-albumView=; path=/ Set-Cookie: Squeezebox-expandPlayerControl=true; path=/ Set-Cookie: Squeezebox-expanded-MY_MUSIC=1; path=/ Set-Cookie: Squeezebox-expanded-FAVORITES=1; path=/ Set-Cookie: Squeezebox-expanded-PLUGINS=1; path=/ Set-Cookie: Squeezebox-expanded-PLUGIN_MY_APPS_MODULE_NAME=1; path=/ Set-Cookie: Squeezebox-expanded-RADIO=1; path=/ [01:12:20.562] sendRESP:226 RESP [01:12:20.649] _check_lame_header:163 gapless: skip: 2257 samples: 10164756 delay: 1105 padding: 1691 [01:12:20.649] mad_decode:247 setting track_start [01:12:20.649] mad_decode:276 gapless: skipping 1152 frames at start [01:12:20.649] mad_decode:276 gapless: skipping 1105 frames at start [01:12:20.650] _output_frames:65 start buffer frames: 18479 [01:12:20.650] _output_frames:153 track start sample rate: 44100 replay_gain: 0 [01:12:20.650] pa_callback:525 pad with silence [01:12:20.650] sendSTAT:195 STAT: STMs [01:12:20.650] sendSTAT:195 STAT: STMt [01:12:20.973] stream_thread:404 end of stream (1691381 bytes) [01:12:20.973] sendDSCO:214 DSCO: 0 [01:12:21.973] sendSTAT:195 STAT: STMt [01:12:23.303] sendSTAT:195 STAT: STMt [01:12:23.303] process:528 strm ... [01:13:16.300] process_strm:280 strm command t [01:13:16.300] sendSTAT:195 STAT: STMt [01:13:17.163] mad_decode:207 end of stream [01:13:17.163] mad_decode:292 gapless: early end - trimming padding from end [01:13:17.163] decode_thread:100 decode complete [01:13:17.163] sendSTAT:195 STAT: STMd [01:13:17.163] sendSTAT:195 STAT: STMt
Comment