Page 1 of 1

Jukebox not working

PostPosted: Sun Jun 06, 2010 10:23 pm
by c0mputerking
Hello all having some issues with the jukebox not working on ubuntu 10.04 LTS and the latest subsonic 4.0.1 getting the error below. Subsonic works perfectly through the browser, on the same machine, but not in Jukebox mode which is supposed to use the server hardware right?

Code: Select all
ERROR JukeboxService - Error in BasicPlayer.setGain()

[2010-06-06 16:19:36,297] ERROR JukeboxService - Error in BasicPlayer.setGain()

[2010-06-06 16:19:36,299] ERROR JukeboxService - Error in BasicPlayer.setGain()

[2010-06-06 16:20:51,997] ERROR JukeboxService - Error in BasicPlayer.setGain()

[2010-06-06 16:20:57,524] INFO JukeboxService - Starting jukebox player on behalf of admin
[2010-06-06 16:20:57,525] DEBUG JukeboxService - stateUpdated : OPENING:-1:java.io.BufferedInputStream@1a28182
[2010-06-06 16:20:57,529] INFO PlaylistInputStream - admin listening to "Funk/Bootsy Collins & George Duke Dukey Stick.mp3"
[2010-06-06 16:20:57,547] DEBUG JukeboxService - opened : {mp3.crc=false, mp3.copyright=true, mp3.version.mpeg=1, mp3.channels=2, mp3.id3tag.genre=(5), author=Bootsy Collins & George Duke, mp3.framesize.bytes=413, title=Dukey Stick, mp3.version.layer=3, mp3.bitrate.nominal.bps=128000, mp3.vbr.scale=0, mp3.version.encoding=MPEG1L3, audio.type=MP3, mp3.id3tag.v2=java.io.ByteArrayInputStream@1f40a61, vbr=false, mp3.id3tag.v2.version=3, mp3.padding=false, audio.framerate.fps=38.28125, audio.channels=2, mp3.framerate.fps=38.28125, mp3.frequency.hz=44100, mp3.header.pos=4096, basicplayer.sourcedataline=org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine@14937e2, bitrate=128000, mp3.mode=1, mp3.vbr=false, comment=TunNORM, audio.samplerate.hz=44100.0, mp3.original=true}
[2010-06-06 16:20:57,547] DEBUG JukeboxService - stateUpdated : OPENED:-1
[2010-06-06 16:20:57,550] WARN JukeboxService - Error in BasicPlayer.play()
javax.sound.sampled.LineUnavailableException
   at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openImpl(PulseAudioMixer.java:714)
   at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openLocal(PulseAudioMixer.java:588)
   at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openLocal(PulseAudioMixer.java:584)
   at org.classpath.icedtea.pulseaudio.PulseAudioMixer.open(PulseAudioMixer.java:579)
   at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:95)
   at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:75)
   at javazoom.jlgui.basicplayer.BasicPlayer.openLine(Unknown Source)
   at javazoom.jlgui.basicplayer.BasicPlayer.initLine(Unknown Source)
   at javazoom.jlgui.basicplayer.BasicPlayer.startPlayback(Unknown Source)
   at javazoom.jlgui.basicplayer.BasicPlayer.play(Unknown Source)
   at net.sourceforge.subsonic.service.JukeboxService$JuxeboxPlayer.play(JukeboxService.java:154)
   at net.sourceforge.subsonic.service.JukeboxService.play(JukeboxService.java:76)
   at net.sourceforge.subsonic.ajax.PlaylistService.convert(PlaylistService.java:268)
   at net.sourceforge.subsonic.ajax.PlaylistService.doSkip(PlaylistService.java:104)
   at net.sourceforge.subsonic.ajax.PlaylistService.skip(PlaylistService.java:97)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:616)
   at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
   at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
   at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
   at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
   at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
   at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
   at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
   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.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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
   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.content(HttpConnection.java:844)
   at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
   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)
[/code]

PostPosted: Sat Oct 30, 2010 12:51 pm
by alicharles
Did you ever mange to solve this issue? I have been searching searching but can't get the jukebox to play on the local machine.

PostPosted: Mon Nov 01, 2010 6:48 am
by john6555
Jukebox hasn't worked for me since back in the 3.x releases. Unfortunately I've seen some other with similar issues but there seems to be very little response from the developer so far. I'm on Windows 7 64-bit and here is an example log file error I get:

Code: Select all
[2010-11-01 01:37:06,072] INFO JukeboxService - Starting jukebox player on behalf of admin
[2010-11-01 01:37:06,175] DEBUG JukeboxService - stateUpdated : OPENING:-1:java.io.BufferedInputStream@17ed915
[2010-11-01 01:37:06,328] INFO PlaylistInputStream - admin listening to "Magnolia (1999)\08 Aimee Mann - Wise Up.mp3"
[2010-11-01 01:37:06,412] WARN JukeboxService - Error in BasicPlayer.play()
java.io.IOException: Resetting to invalid mark
   at java.io.BufferedInputStream.reset(Unknown Source)
   at org.tritonus.share.sampled.file.TAudioFileReader.getAudioFileFormat(TAudioFileReader.java:195)
   at javax.sound.sampled.AudioSystem.getAudioFileFormat(Unknown Source)
   at net.sourceforge.subsonic.service.JukeboxService$JuxeboxPlayer$1.initAudioInputStream(JukeboxService.java:144)
   at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream(Unknown Source)
   at javazoom.jlgui.basicplayer.BasicPlayer.open(Unknown Source)
...

PostPosted: Mon Nov 01, 2010 11:42 pm
by maxslug
I couldn't get it to work with 4.1 on Mythdora 10 either, but I thought it was just me.

-m

PostPosted: Tue Nov 02, 2010 12:32 am
by oeh

PostPosted: Tue Nov 02, 2010 8:45 pm
by maxslug


Those are helpful thanks. I'm thinking that my pulse audio server is running as user 'mythtv' and I have subsonic running as it's own user which won't work. I'll have to have subsonic run as the same user as the one logged in via X so they can share the pulse server, unless I can set up permissions to allow both users to use the same instance.

-m

PostPosted: Sun Nov 07, 2010 11:27 pm
by john6555
The latest beta - 4.2 beta 1 - solved my issue.

PostPosted: Mon Dec 13, 2010 6:33 pm
by john6555
Spoke too soon. The issue keeps resurfacing. I am totally guessing, but it seems to me to have something to do with the play/stop state of the jukebox player. It's almost like the jukebox thinks it's already playing so it won't start playing again, even after stop/clear/play/restart/etc.

It sure would be nice if this feature would work reliably, heck I may even consider donating! :)

PostPosted: Mon Dec 13, 2010 6:51 pm
by john6555
Argh. So it seems that some music will play in the jukebox and some will not. (I can play all the Radiohead I want, but no Röyksopp or Brazilian Girls.) There doesn't appear to be anything in the bitrate, format, or tagging that would cause this difference. All of the music plays in the normal web player fine... the saga continues.

PostPosted: Mon Jan 03, 2011 10:11 pm
by flammenwurfer
I'm running subsonic on ubuntu 10.10 with no gui (it's my boxee box, so it just runs boxee without gnome). I've only tried it once, but jukebox didn't work for me either. I will experiment some more.

PostPosted: Fri Jan 14, 2011 6:02 pm
by LucidLobster
@flammenwurfer

Do you have alsa installed on your ubuntu server? The sounds packages are not installed by default.

If not, make sure that you enter the mixer control and unmute your outputs. I missed that once, very aggravating :roll:

PostPosted: Fri Jan 14, 2011 7:11 pm
by stozher
Add Subsinic Unix user to group 'audio'...

PostPosted: Mon Feb 14, 2011 8:49 pm
by colini
I was getting the same "LineUnavailableException" on Ubuntu 10.10. Switching to Sun's java solved the problem. Keep in mind that the update-alternatives settings are per user, not system-wide. So you have to switch java on the user account that will run Subsonic. By default on ubuntu it runs as root.

It seems to work pretty well, tho I do see some seemingly random failures when trying to play transcoded flac files.

-- Colin

Subsonic 4.4 (build 2169) – February 6, 2011
jetty-6.1.x, java 1.6.0_22, Linux (28.7 MB / 41.5 MB)