philippe_44 wrote: > And to elaborate a bit on what I'm doing, basically instead of > subclassing an HTTP object, I'm subclassing an IO::Handle and I handle > sysread myself. In sysread, I'm opening a persistent connection and I'm > doing 64kB range requests. I thought I had dealt with speed issues > because I'm not waiting for sysread calls to do the GET. The fetching > function has a 256kB buffer that it tries to fill as quickly as possible > when it gets a kick by sysread. So the sysread uses the buffer, it does > not have to wait for the GET response. I don't have stuttering issues > here, could you when you have time, look at the log and see if the > connection is being closed often?
OK, I am watching the latest addition of ProtocolHandler in Wireshark. I see the RP server send a data packet which Wireshark labels as "HTTP/1.1 206 Partial Content (audio/flac)" and I assume this to be the end of a chunk? This is followed by the RP protocol handler sending a [FIN, ACK] packet to the RP server. After RP ACKs this, we send a [SYN] and initiate a new connection to RP, to get the next chunk? This appears to be working fine in my system, but it does appear that the time from the termination of the one connection to receiving a full data packet - a TCP payload of 1448 bytes, in the following connection can take as long as 0.5 seconds! That is a long long time. It does not appear to be a problem for me, maybe because I sent my LMS Radio Station Buffer to 30 seconds. The time to terminate one connection and proceed with the next is usually at least 0.1 seconds. Assuming I am making the correct assumptions, the time it takes to get a chunk from RP is about 0.1 seconds ... so we now spend more time terminating and making the next connection than actually downloading data. Nevertheless ... this is working well for me ... I am getting deterministic behavior, where I was not with the original protocol handler. We need two chunks per seconds to keep the FLAC download going? I can see where depending on a user's connection to the Internet, that it could stutter badly. OK, I am now putting my ignoramus hat on ... is it possible to download bigger chunks, and keep the advantages of this method? Hat off. *Living Room:* SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers *Laptop:* System76 Galago + Ubuntu 16.04 + Squeezelite + Material Skin > Emotiva Little Ego DAC > Senn IE 80 earbuds *Phone:* Pixel 3a Phone + BubbleUPnP + Kiwi/Material > Bluetooth > Bose SoundLink Revolve *Server:* Puget Systems Serenity + Ubuntu 18.04 + LMS 7.9.2 *Music:* Personal FLAC, Radio Paradise FLAC, Qobuz, Spotify ------------------------------------------------------------------------ Ron F.'s Profile: http://forums.slimdevices.com/member.php?userid=5616 View this thread: http://forums.slimdevices.com/showthread.php?t=108189 _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/plugins
