Home of the Squeezebox™ & Transporter® network music players.
Page 32 of 32 FirstFirst ... 22303132
Results 311 to 314 of 314
  1. #311
    Senior Member
    Join Date
    Aug 2014
    Location
    UK
    Posts
    349
    To Complete the analysis, I've added a setting to BBC Sounds that an interval can be set between fetching audio chunks from the BBC, effectively applying a throttle to the amount of data that can be made available to the radio.

    Here is a log where I have specified at least 2 seconds occurs before the next 6 second chunk of audio is fetched from the BBC (on Audio-on-demand content).
    It solves the problem, as the radio has time to decode, rather than filling up the input buffer. No underrun occurs. Effectively, prioritising decoding over input buffering.

    Code:
    Mar  1 11:54:07 squeezeplay: INFO   audio.decode - Playback.lua:477 connect 172.16.0.8:9000 GET /stream.mp3?player=00:04:20:2c:fa:10 HTTP/1.0^M
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - Playback.lua:194 source=stream
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - stream_connectL:506 streambuf connect 172.16.0.8:9000
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - Playback.lua:1262 stopping local pause timer
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - Playback.lua:1192 gainL, gainR: 1098 1098
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - Playback.lua:397 resume decoder, 63712 bytes buffered, decode threshold 2048
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_decoder:580 decode_resume_decoder
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_decoder_handler:122 resume_decoder decode state: 1 audio state 0
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - debug_fullness:112 fullness: 63712 / 0 | 2.03% / 0.00%
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_output_samples:280 first buffer sample_rate=48000
    Mar  1 11:54:08 squeezeplay: INFO   audio.decode - Playback.lua:448 3.7%/0.5%
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - Playback.lua:424 resume audio bytesReceivedL=190976 outputTime=234 threshold=122880
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_audio:601 decode_resume_audio start_jiffies=0
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_audio_handler:133 decode_resume_audio_handler start_jiffies=0
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - debug_fullness:112 fullness: 145920 / 106496 | 4.64% / 3.02%
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_audio_handler:146 resume_audio decode state: 1 audio state 40
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - Playback.lua:381 status TRACK STARTED (elapsed: 112)
    Mar  1 11:54:09 squeezeplay: INFO   audio.decode - Playback.lua:448 6.7%/6.4%
    Mar  1 11:54:10 squeezeplay: INFO   audio.decode - Playback.lua:448 11.3%/8.7%
    Mar  1 11:54:11 squeezeplay: INFO   audio.decode - Playback.lua:448 13.7%/10.7%
    Mar  1 11:54:13 squeezeplay: INFO   audio.decode - Playback.lua:448 16.2%/14.5%
    Mar  1 11:54:14 squeezeplay: INFO   audio.decode - Playback.lua:448 18.8%/15.2%
    Mar  1 11:54:15 squeezeplay: INFO   audio.decode - Playback.lua:448 21.2%/18.5%
    Mar  1 11:54:16 squeezeplay: INFO   audio.decode - Playback.lua:448 25.9%/18.9%
    Mar  1 11:54:17 squeezeplay: INFO   audio.decode - Playback.lua:448 26.0%/24.4%
    Mar  1 11:54:18 squeezeplay: INFO   audio.decode - Playback.lua:448 32.8%/24.7%
    Mar  1 11:54:19 squeezeplay: INFO   audio.decode - Playback.lua:448 30.7%/29.3%
    Mar  1 11:54:20 squeezeplay: INFO   audio.decode - Playback.lua:448 37.5%/30.6%
    Mar  1 11:54:21 squeezeplay: INFO   audio.decode - Playback.lua:448 34.9%/40.6%
    Mar  1 11:54:22 squeezeplay: INFO   audio.decode - Playback.lua:448 41.3%/45.3%
    Mar  1 11:54:23 squeezeplay: INFO   audio.decode - Playback.lua:448 39.6%/48.0%
    Mar  1 11:54:24 squeezeplay: INFO   audio.decode - Playback.lua:448 46.4%/48.6%
    Mar  1 11:54:25 squeezeplay: INFO   audio.decode - Playback.lua:448 46.8%/50.8%
    Mar  1 11:54:29 squeezeplay: INFO   audio.decode - Playback.lua:448 42.6%/98.9%
    Mar  1 11:54:29 squeezeplay: WARN   net.thread - NetworkThread.lua:146 network thread timeout for Task(SocketHttp {piCorePlayer_Request}(R))
    Mar  1 11:54:30 squeezeplay: INFO   audio.decode - Playback.lua:448 51.6%/97.3%
    Mar  1 11:54:31 squeezeplay: INFO   audio.decode - Playback.lua:448 56.4%/98.1%
    Mar  1 11:54:32 squeezeplay: INFO   audio.decode - Playback.lua:448 56.5%/97.8%
    Mar  1 11:54:33 dropbear[2293]: Child connection from 172.16.0.70:40578
    Mar  1 11:54:33 squeezeplay: INFO   audio.decode - Playback.lua:448 62.0%/95.2%
    Mar  1 11:54:34 squeezeplay: INFO   audio.decode - Playback.lua:448 63.1%/92.5%
    Mar  1 11:54:35 squeezeplay: INFO   audio.decode - Playback.lua:448 67.7%/93.2%
    Mar  1 11:54:37 squeezeplay: INFO   audio.decode - Playback.lua:448 72.5%/93.3%
    Mar  1 11:54:37 dropbear[2293]: Password auth succeeded for 'root' from 172.16.0.70:40578
    Actually, I'm probably happy to release like this, with a default of 1 second interval throttling, you could probably argue that does have benefits server side.
    Obviously, this is very BBC Sounds specific. What's your thoughts?

  2. #312
    Senior Member
    Join Date
    Aug 2014
    Location
    UK
    Posts
    349
    Further to the above, I've tested applying the throttling to the r16835 release of the firmware. I can confirm it also eliminates the buffer underrruns for that release.
    Last edited by expectingtofly; Yesterday at 06:38.

  3. #313
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,789
    Quote Originally Posted by expectingtofly View Post
    To Complete the analysis, I've added a setting to BBC Sounds that an interval can be set between fetching audio chunks from the BBC, effectively applying a throttle to the amount of data that can be made available to the radio.

    Here is a log where I have specified at least 2 seconds occurs before the next 6 second chunk of audio is fetched from the BBC (on Audio-on-demand content).
    It solves the problem, as the radio has time to decode, rather than filling up the input buffer. No underrun occurs. Effectively, prioritising decoding over input buffering.

    Code:
    Mar  1 11:54:07 squeezeplay: INFO   audio.decode - Playback.lua:477 connect 172.16.0.8:9000 GET /stream.mp3?player=00:04:20:2c:fa:10 HTTP/1.0^M
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - Playback.lua:194 source=stream
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - stream_connectL:506 streambuf connect 172.16.0.8:9000
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - Playback.lua:1262 stopping local pause timer
    Mar  1 11:54:07 squeezeplay: DEBUG  audio.decode - Playback.lua:1192 gainL, gainR: 1098 1098
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - Playback.lua:397 resume decoder, 63712 bytes buffered, decode threshold 2048
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_decoder:580 decode_resume_decoder
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_decoder_handler:122 resume_decoder decode state: 1 audio state 0
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - debug_fullness:112 fullness: 63712 / 0 | 2.03% / 0.00%
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_output_samples:280 first buffer sample_rate=48000
    Mar  1 11:54:08 squeezeplay: INFO   audio.decode - Playback.lua:448 3.7%/0.5%
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - Playback.lua:424 resume audio bytesReceivedL=190976 outputTime=234 threshold=122880
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_audio:601 decode_resume_audio start_jiffies=0
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_audio_handler:133 decode_resume_audio_handler start_jiffies=0
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - debug_fullness:112 fullness: 145920 / 106496 | 4.64% / 3.02%
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - decode_resume_audio_handler:146 resume_audio decode state: 1 audio state 40
    Mar  1 11:54:08 squeezeplay: DEBUG  audio.decode - Playback.lua:381 status TRACK STARTED (elapsed: 112)
    Mar  1 11:54:09 squeezeplay: INFO   audio.decode - Playback.lua:448 6.7%/6.4%
    Mar  1 11:54:10 squeezeplay: INFO   audio.decode - Playback.lua:448 11.3%/8.7%
    Mar  1 11:54:11 squeezeplay: INFO   audio.decode - Playback.lua:448 13.7%/10.7%
    Mar  1 11:54:13 squeezeplay: INFO   audio.decode - Playback.lua:448 16.2%/14.5%
    Mar  1 11:54:14 squeezeplay: INFO   audio.decode - Playback.lua:448 18.8%/15.2%
    Mar  1 11:54:15 squeezeplay: INFO   audio.decode - Playback.lua:448 21.2%/18.5%
    Mar  1 11:54:16 squeezeplay: INFO   audio.decode - Playback.lua:448 25.9%/18.9%
    Mar  1 11:54:17 squeezeplay: INFO   audio.decode - Playback.lua:448 26.0%/24.4%
    Mar  1 11:54:18 squeezeplay: INFO   audio.decode - Playback.lua:448 32.8%/24.7%
    Mar  1 11:54:19 squeezeplay: INFO   audio.decode - Playback.lua:448 30.7%/29.3%
    Mar  1 11:54:20 squeezeplay: INFO   audio.decode - Playback.lua:448 37.5%/30.6%
    Mar  1 11:54:21 squeezeplay: INFO   audio.decode - Playback.lua:448 34.9%/40.6%
    Mar  1 11:54:22 squeezeplay: INFO   audio.decode - Playback.lua:448 41.3%/45.3%
    Mar  1 11:54:23 squeezeplay: INFO   audio.decode - Playback.lua:448 39.6%/48.0%
    Mar  1 11:54:24 squeezeplay: INFO   audio.decode - Playback.lua:448 46.4%/48.6%
    Mar  1 11:54:25 squeezeplay: INFO   audio.decode - Playback.lua:448 46.8%/50.8%
    Mar  1 11:54:29 squeezeplay: INFO   audio.decode - Playback.lua:448 42.6%/98.9%
    Mar  1 11:54:29 squeezeplay: WARN   net.thread - NetworkThread.lua:146 network thread timeout for Task(SocketHttp {piCorePlayer_Request}(R))
    Mar  1 11:54:30 squeezeplay: INFO   audio.decode - Playback.lua:448 51.6%/97.3%
    Mar  1 11:54:31 squeezeplay: INFO   audio.decode - Playback.lua:448 56.4%/98.1%
    Mar  1 11:54:32 squeezeplay: INFO   audio.decode - Playback.lua:448 56.5%/97.8%
    Mar  1 11:54:33 dropbear[2293]: Child connection from 172.16.0.70:40578
    Mar  1 11:54:33 squeezeplay: INFO   audio.decode - Playback.lua:448 62.0%/95.2%
    Mar  1 11:54:34 squeezeplay: INFO   audio.decode - Playback.lua:448 63.1%/92.5%
    Mar  1 11:54:35 squeezeplay: INFO   audio.decode - Playback.lua:448 67.7%/93.2%
    Mar  1 11:54:37 squeezeplay: INFO   audio.decode - Playback.lua:448 72.5%/93.3%
    Mar  1 11:54:37 dropbear[2293]: Password auth succeeded for 'root' from 172.16.0.70:40578
    Actually, I'm probably happy to release like this, with a default of 1 second interval throttling, you could probably argue that does have benefits server side.
    Obviously, this is very BBC Sounds specific. What's your thoughts?
    I think that's a good solution. I was replying to your previous regarding outputThreshold when I spotted these.

    Basically, there are 2 threshold values sent from the server in the strm command.
    1. $threshold - the KB of input buffer data before autostart or notify.
    2. $output_Threshold - amount of output buffer data before playback starts, in tenths of a second.
    and the player honours/ignores 1. depending on the auto start flag.

    I've been investigating how the aac decoder implemented in the community firmware on the radio responses to the thresholds and under what conditions they are applied, but that's going to take some time.

    Quote Originally Posted by expectingtofly View Post
    Further to the above, I've tested applying the throttling to the r16835 release of the firmware. I can confirm it also eliminates the buffer underrruns for that release.
    That's great! Even with the bug in r16835 that reports that the number of decoded samples is only 1/4 of what's actually available, the throttle is enough to let the radio recover.

    EDIT: Does the output buffer percentage, the 2nd value, approach 100% at any time using the r16835 released firmware?
    Last edited by ralphy; Yesterday at 06:57.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  4. #314
    Senior Member
    Join Date
    Aug 2014
    Location
    UK
    Posts
    349
    Quote Originally Posted by ralphy View Post
    I think that's a good solution. I was replying to your previous regarding outputThreshold when I spotted these.
    Alrighty, I'll do a bit of testing and release that then.

    Quote Originally Posted by ralphy View Post
    EDIT: Does the output buffer percentage, the 2nd value, approach 100% at any time using the r16835 released firmware?
    Yes it does, it has a similar profile to the patched version :

    Code:
    Mar  1 16:04:25 squeezeplay: INFO   audio.decode - Playback.lua:477 connect 172.16.0.8:9000 GET /stream.mp3?player=00:04:20:2a:dd:41 HTTP/1.0^M
    Mar  1 16:04:25 squeezeplay: DEBUG  audio.decode - Playback.lua:194 source=stream
    Mar  1 16:04:25 squeezeplay: DEBUG  audio.decode - stream_connectL:506 streambuf connect 172.16.0.8:9000
    Mar  1 16:04:25 squeezeplay: DEBUG  audio.decode - Playback.lua:1262 stopping local pause timer
    Mar  1 16:04:25 squeezeplay: DEBUG  audio.decode - Playback.lua:1192 gainL, gainR: 1037 1037
    Mar  1 16:04:26 squeezeplay: DEBUG  audio.decode - Playback.lua:397 resume decoder, 32768 bytes buffered, decode threshold 2048
    Mar  1 16:04:26 squeezeplay: DEBUG  audio.decode - decode_resume_decoder:580 decode_resume_decoder
    Mar  1 16:04:26 squeezeplay: DEBUG  audio.decode - decode_resume_decoder_handler:122 resume_decoder decode state: 1 audio state 0
    Mar  1 16:04:26 squeezeplay: DEBUG  audio.decode - debug_fullness:112 fullness: 32768 / 0 | 1.04% / 0.00%
    Mar  1 16:04:26 squeezeplay: DEBUG  audio.decode - decode_output_samples:279 first buffer sample_rate=48000
    Mar  1 16:04:26 squeezeplay: INFO   audio.decode - Playback.lua:448 1.9%/1.9%
    Mar  1 16:04:27 squeezeplay: DEBUG  audio.decode - Playback.lua:424 resume audio bytesReceivedL=160192 outputTime=618 threshold=122880
    Mar  1 16:04:27 squeezeplay: DEBUG  audio.decode - decode_resume_audio:601 decode_resume_audio start_jiffies=0
    Mar  1 16:04:27 squeezeplay: DEBUG  audio.decode - decode_resume_audio_handler:133 decode_resume_audio_handler start_jiffies=0
    Mar  1 16:04:27 squeezeplay: DEBUG  audio.decode - debug_fullness:112 fullness: 102848 / 245760 | 3.27% / 6.97%
    Mar  1 16:04:27 squeezeplay: DEBUG  audio.decode - decode_resume_audio_handler:146 resume_audio decode state: 1 audio state 40
    Mar  1 16:04:27 squeezeplay: DEBUG  audio.decode - Playback.lua:381 status TRACK STARTED (elapsed: 108)
    Mar  1 16:04:28 squeezeplay: INFO   audio.decode - Playback.lua:448 6.6%/9.3%
    Mar  1 16:04:29 squeezeplay: INFO   audio.decode - Playback.lua:448 10.7%/13.9%
    Mar  1 16:04:30 squeezeplay: INFO   audio.decode - Playback.lua:448 15.2%/14.8%
    Mar  1 16:04:31 squeezeplay: INFO   audio.decode - Playback.lua:448 15.2%/20.0%
    Mar  1 16:04:32 squeezeplay: INFO   audio.decode - Playback.lua:448 22.0%/20.4%
    Mar  1 16:04:33 squeezeplay: INFO   audio.decode - Playback.lua:448 20.3%/23.7%
    Mar  1 16:04:34 squeezeplay: INFO   audio.decode - Playback.lua:448 27.0%/25.3%
    Mar  1 16:04:35 squeezeplay: INFO   audio.decode - Playback.lua:448 25.1%/29.3%
    Mar  1 16:04:37 squeezeplay: INFO   audio.decode - Playback.lua:448 32.2%/27.7%
    Mar  1 16:04:38 squeezeplay: INFO   audio.decode - Playback.lua:448 30.2%/31.7%
    Mar  1 16:04:39 squeezeplay: INFO   audio.decode - Playback.lua:448 36.7%/35.1%
    Mar  1 16:04:39 squeezeplay: WARN   net.thread - NetworkThread.lua:146 network thread timeout for Task(SocketHttp {baby.squeezenetwork.com}(R))
    Mar  1 16:04:42 squeezeplay: INFO   audio.decode - Playback.lua:448 25.9%/91.5%
    Mar  1 16:04:42 squeezeplay: WARN   net.thread - NetworkThread.lua:146 network thread timeout for Task(SocketHttp {piCorePlayer_Request}(R))
    Mar  1 16:04:43 squeezeplay: INFO   audio.decode - Playback.lua:448 32.8%/91.0%
    Mar  1 16:04:44 squeezeplay: INFO   audio.decode - Playback.lua:448 39.5%/92.4%
    Mar  1 16:04:45 squeezeplay: INFO   audio.decode - Playback.lua:448 37.6%/97.0%
    Mar  1 16:04:46 squeezeplay: INFO   audio.decode - Playback.lua:448 44.3%/97.5%
    Mar  1 16:04:47 squeezeplay: INFO   audio.decode - Playback.lua:448 42.6%/99.8%
    Mar  1 16:04:48 squeezeplay: INFO   audio.decode - Playback.lua:448 49.3%/99.0%
    Mar  1 16:04:48 dropbear[32476]: Child connection from 172.16.0.70:34290
    Mar  1 16:04:50 squeezeplay: INFO   audio.decode - Playback.lua:448 50.5%/96.8%
    Mar  1 16:04:51 squeezeplay: INFO   audio.decode - Playback.lua:448 55.5%/94.4%
    Mar  1 16:04:52 squeezeplay: INFO   audio.decode - Playback.lua:448 53.9%/96.9%
    [EDIT copied the wrong log in again, this is a new example]
    Last edited by expectingtofly; Yesterday at 09:05.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •