diff --git a/libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java
index 04cf4f52..e481afd1 100644
--- a/libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java
@@ -30,9 +30,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
import org.springframework.web.bind.ServletRequestUtils;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.Controller;
import org.libresonic.player.domain.MediaFile;
import org.libresonic.player.domain.Player;
@@ -47,15 +50,21 @@ import org.libresonic.player.util.StringUtil;
*
* @author Sindre Mehus
*/
-public class HLSController implements Controller {
+@Controller
+@RequestMapping("/hls/**")
+public class HLSController {
private static final int SEGMENT_DURATION = 10;
private static final Pattern BITRATE_PATTERN = Pattern.compile("(\\d+)(@(\\d+)x(\\d+))?");
+ @Autowired
private PlayerService playerService;
+ @Autowired
private MediaFileService mediaFileService;
+ @Autowired
private SecurityService securityService;
+ @RequestMapping(method = RequestMethod.GET)
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.setHeader("Access-Control-Allow-Origin", "*");
@@ -72,7 +81,7 @@ public class HLSController implements Controller {
if (username != null && !securityService.isFolderAccessAllowed(mediaFile, username)) {
response.sendError(HttpServletResponse.SC_FORBIDDEN,
- "Access to file " + mediaFile.getId() + " is forbidden for user " + username);
+ "Access to file " + mediaFile.getId() + " is forbidden for user " + username);
return null;
}
@@ -188,15 +197,4 @@ public class HLSController implements Controller {
return contextPath;
}
- public void setMediaFileService(MediaFileService mediaFileService) {
- this.mediaFileService = mediaFileService;
- }
-
- public void setPlayerService(PlayerService playerService) {
- this.playerService = playerService;
- }
-
- public void setSecurityService(SecurityService securityService) {
- this.securityService = securityService;
- }
}
diff --git a/libresonic-main/src/main/resources/libresonic-servlet.xml b/libresonic-main/src/main/resources/libresonic-servlet.xml
index 791a6229..89eb1b8c 100644
--- a/libresonic-main/src/main/resources/libresonic-servlet.xml
+++ b/libresonic-main/src/main/resources/libresonic-servlet.xml
@@ -17,11 +17,6 @@
org.libresonic.player.validator,
org.libresonic.player.security"/>
-
-
-
-
-
@@ -101,7 +96,6 @@
downloadController
wapController
restController
- hlsController
externalPlayerController