<p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">This issue is happened to some HLS server (m3u8 url), after playing the live streaming for some time, the screen stop responding.</span><span style="line-height: 1.5;"> </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">Through debugging on the VLC source code and logging in IIS server, I discover the problem was in the function hls_download() which is in the source file ¡°httplive.c¡°</span><span style="line-height: 1.5;"> </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">There is probability that stream_read() jump into infinite loop. This is due to poll (select) time limit is -1 (infinite loop or until data received completed or network disconnected)</span><span style="line-height: 1.5;">   </span>For the packet sniffer and IIS logging, IIS logging show :</p><p class="MsoNormal" style="font-family: 'lucida Grande', Verdana;"><span lang="EN-US" style="line-height: 1.5;">GET /live107.ts - 9010 - 111.111.111.111</span><span style="line-height: 1.5; font-family: ËÎÌå;">£¨</span><span lang="EN-US" style="line-height: 1.5;">IP</span><span style="line-height: 1.5; font-family: ËÎÌå;">£©</span><span lang="EN-US" style="line-height: 1.5;"> VLC/2.1.2+LibVLC/2.1.2 206 0 64</span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">The last word 64 is error code for ¡°the specified network name is no longer available¡±</span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US"> </span><span style="line-height: 1.5;">These mean clients already close the communication port or no responding ¡°ack¡±.</span><span style="line-height: 1.5;"> </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">Details of this issue can be found here: </span><a href="http://stackoverflow.com/questions/372149/iis-file-download-hangs-timeouts-sc-win32-status-64" target="_blank" style="line-height: 1.5; outline: none; cursor: pointer; color: rgb(44, 74, 119);">http://stackoverflow.com/questions/372149/iis-file-download-hangs-timeouts-sc-win32-status-64</a><span style="line-height: 1.5;"> </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">Sniffer packet showed that server did not completely send the data, may be due to network or firewall issue, due to this issue, the TS file receiving function will keep waiting there, this cause the process blocking.</span><span style="line-height: 1.5;"> </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">Regarding this issue, someone has asked this question before:</span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US"><a href="https://mailman.videolan.org/pipermail/vlc-devel/2012-April/087735.html" target="_blank" style="outline: none; cursor: pointer; color: rgb(44, 74, 119);">https://mailman.videolan.org/pipermail/vlc-devel/2012-April/087735.html</a></span><span style="line-height: 1.5;"> </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">Therefore, I believe the best way is to let the hls_Download() can support time limit, I see this vlc_object_waitpipe() should be able to handle this, after the time limit, exit the infinite loop. But I did not know how to achieve this, please guide me if possible. </span></p><p class="MsoNormal" style="line-height: 23px; font-family: 'lucida Grande', Verdana;"><span lang="EN-US">Thanks.</span></p>