improve hlsclient