VLC 4 has a new "player", but the behavior to fix this issue is exactly the same.
Tguillem implemented it in the player: https://code.videolan.org/videolan/vlc/blob/8fc06287a82f3f23...
And I implemented it in VLC 3: https://git.videolan.org/?p=vlc/vlc-3.0.git;a=commitdiff;h=d... https://git.videolan.org/?p=vlc/vlc-3.0.git;a=commitdiff;h=1...
This is implemented that way because retrying indefinitely may be the expected behavior (so we may not stop), we just avoid busy loops.
Btw, you should upgrade: http://www.jbkempf.com/blog/post/2019/VLC-3.0.7-and-security