Issue accessing playlist in Android app

Need help? Post your questions here.

Moderator: moderators

Issue accessing playlist in Android app

Postby amels802 » Sun Jul 25, 2010 8:57 pm

I have a .m3u playlist that for some reason cannot be consistently accessed via the Android app. A network error occurs about 90% of the time. I have another smaller playlist that I can pull up every time. I'm now noticing they have different formats.

Working playlist
#CURTRACK 0
#EXTM3U
#EXTINF:223,Love Lost
\\server\Music\My Albums\Trey Songz - Ready (2009)\14-trey_songz-love_lost.mp3
#EXTINF:262,Cocaine Dreams
\\server\Music\My Albums\Raheem DeVaughn - The Art of Noise (2009)\3. Cocaine Dreams - Raheem DeVaughn.mp3
#EXTINF:250,Yo Side Of The Bed
\\server\Music\My Albums\Trey Songz - Ready (2009)\17-trey_songz-yo_side_of_the_bed.mp3



Non-working playlist
#EXTM3U
\\server\music\my albums\Eminem - Recovery (2010)\06-eminem-going_through_changes.mp3
\\server\music\my albums\Game - Red Files Volume 3 (2010)\13 - Game-Pushin It Remix Ft Shyne Ti Ja Rule.mp3
\\server\Music\My Albums\Jay-Z - The Blueprint 3\02-jay-z-thank_you.mp3



Both of these playlists are shared by both Subsonic and my Squeezebox devices. I usually use Subsonic to add songs, shuffle the playlist and save the changes (before the option was added to the Android app). I can play both playlists in WMP, Winamp and MediaMonkey without any problems. Does the Subsonic web app not save in true EXTM3U format? Any ideas why this is happening or how to rectify the issue?
amels802
 
Posts: 13
Joined: Sun Jun 13, 2010 5:18 am

Postby amels802 » Mon Jul 26, 2010 12:20 am

OK, I've been trying to pinpoint this issue by dissecting the problem .m3u file in Notepad. This playlist contains references to 69 mp3 files. I scaled the playlist down to 37 listings and it now works consistently. I then added 1 additional listing, tried to access via the Android app and the network error comes back. Next, I kept those first 37 in a separate .m3u file and put the remaining 32 in another. Now I can access both playlists via the app.

But now I'm confused... I know playlists larger than 37 songs work as I have been able to do it before and I've seen examples on this forum. I'm sure there's no character limit. Anyone encountered this before or have any ideas?


EDIT: Here is part of the log...

[2010-07-26 01:46:19,782] WARN PlaylistService - Access denied to file #CURTRACK 0
java.lang.SecurityException: Access denied to file #CURTRACK 0
at net.sourceforge.subsonic.service.MusicFileService.getMusicFile(MusicFileService.java:69)
at net.sourceforge.subsonic.service.PlaylistService$M3UFormat.loadPlaylist(PlaylistService.java:210)
at net.sourceforge.subsonic.service.PlaylistService.loadPlaylist(PlaylistService.java:101)
at net.sourceforge.subsonic.controller.RESTController.getPlaylist(RESTController.java:289)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:148)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at net.sourceforge.subsonic.security.RESTRequestParameterProcessingFilter.doFilter(RESTRequestParameterProcessingFilter.java:121)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
amels802
 
Posts: 13
Joined: Sun Jun 13, 2010 5:18 am

[SOLVED] Issue accessing playlist in Android app

Postby amels802 » Tue Jul 27, 2010 4:25 am

For anyone having a similar problem, it seemed to be an issue with those stubborn Windows UNC shares (even after resetting permissions). My playlists and music folders were listed in Subsonic as shared folders (\\server\music). I logged into Subsonic settings to change the music folders to the local drive (C:\music) and used Notepad++ to replace all instances of "\\server\" in my M3U files..
amels802
 
Posts: 13
Joined: Sun Jun 13, 2010 5:18 am


Return to Help

Who is online

Users browsing this forum: No registered users and 43 guests