expectingtofly wrote: > 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. expectingtofly wrote: > 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. Ralphy *1*-Touch, *5*-Classics, *3*-Booms, *2*-UE Radio 'Squeezebox client builds' (https://sourceforge.net/projects/lmsclients/files/) 'donations' (https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=LL5P6365KQEXN&lc=CA&item_name=Squeezebox%20client%20builds¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) always appreciated. ------------------------------------------------------------------------ ralphy's Profile: http://forums.slimdevices.com/member.php?userid=3484 View this thread: http://forums.slimdevices.com/showthread.php?t=113479 _______________________________________________ plugins mailing list plugins@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/plugins