Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1
    Junior Member
    Join Date
    May 2007
    Posts
    16

    Problem with squeezeslave

    Hello!
    I have just set up my new squeezecenter server. Everything fine with that. Now I want to use the server also for listening. So I want start a programm that runs in background and acts as music player controlled over webinterface or upcomming new remote.
    SoftSqueeze runs but crashes sporadiclly. (I don't know why... it seems to be no memory problem) So I can't use SoftSqueeze which I did not want to use anyway...
    So I want to use squeezeslave. After I seached a while and did not find it on this site I found it via google. But all I get on startup is:
    Code:
    nickname@server:~/squeezeslave-0.7.4> ./squeezeslave
    Output devices:
    0: /dev/dsp
    0
    Error in recv: Bad file descriptor
    (After "0: /dev/dsp" I type "0" and hit return)

    My OS is openSUSE 10.3 and SqueezeCenter Version is 7.0.

    Because I didn't find anything actual by search I hope you can help me.

    Thanks for now,

    nickname

  2. #2
    Member
    Join Date
    Aug 2007
    Location
    Montreal, Canada
    Posts
    59

    A few hints

    Hi nickname,

    Most squeezeslave discussions are happening in this thread

    http://forums.slimdevices.com/showthread.php?t=37460

    so you may want to look at it once in a while.

    Quote Originally Posted by nickname View Post
    Hello!
    I have just set up my new squeezecenter server. Everything fine with that. Now I want to use the server also for listening. So I want start a programm that runs in background and acts as music player controlled over webinterface or upcomming new remote.
    SoftSqueeze runs but crashes sporadiclly. (I don't know why... it seems to be no memory problem) So I can't use SoftSqueeze which I did not want to use anyway...
    So I want to use squeezeslave. After I seached a while and did not find it on this site I found it via google.
    Same story for me, except I found squeezeslave in a semi-abandoned state and picked up its maintenance.

    But all I get on startup is:
    Code:
    nickname@server:~/squeezeslave-0.7.4> ./squeezeslave
    Output devices:
    0: /dev/dsp
    0
    Error in recv: Bad file descriptor
    (After "0: /dev/dsp" I type "0" and hit return)

    My OS is openSUSE 10.3 and SqueezeCenter Version is 7.0.

    Because I didn't find anything actual by search I hope you can help me.

    Thanks for now,

    nickname
    From the command I see, you are starting squeezeslave in "interactive" mode, a leftover from a previous attempt, which should be removed. It could very well be that it already works, though; hitting return just exits the program. Have you tried playing with the volume/mute of your output device? Can you confirm that you can play an audio file using a standard player (flac123, mpg123, ...)? This mode still works, but there are also better options you should try:

    --signal: lets you shutdown with SIGTERM (friendly for running as daemon)
    --retry: causes squeezeslave to keep trying to reach the server if connection is dropped or squeezecenter is not present when squeezeslave starts.

    You should read the help provided when issuing squezeslave --help for a better description. You can also compile with the debug options (in makefile.linux, it's the commented-out CFLAGS): this will allow you to specify debug options which output info at runtime. The output is messy, but you may gather some useful info.

    You may want to update to the latest version, which fixes a few race conditions and infinite loops.

    Please post your results to the "squeezeslave enhancments" thread and welcome aboard!

    Once you're up and running, if you don't mind, we can arrange so you can post your binary on sourceforge.

    Dominique

  3. #3
    Junior Member
    Join Date
    May 2007
    Posts
    16
    Hi Dominique,

    thanks a lot for your reply!
    Quote Originally Posted by Dominique View Post
    hitting return just exits the program
    That was what solved my problem...
    I always shutted squeezeslave down before I looked if I can play music x).
    now I run
    Code:
    nickname@server:~/squeezeslave-0.7.4> ./squeezeslave --signal --retry &
    And it works fine...
    ... for 2-10 Songs. Then playback skips randomly to another song in the playlist or it stops totally.
    When I go to the webinterface to play a specific song, playback starts again, but not with the song I selected. Also I get this error:
    Code:
    flac decoder error 0
    (for every time the playback stops or jumps to another song...

    Quote Originally Posted by Dominique View Post
    Can you confirm that you can play an audio file using a standard player (flac123, mpg123, ...)?
    Playback of flac files (of which my music collection consists of) works fine (I'tried with amarok). Mp3 playback also works.

    Quote Originally Posted by Dominique View Post
    You can also compile with the debug options (in makefile.linux, it's the commented-out CFLAGS): this will allow you to specify debug options which output info at runtime. The output is messy, but you may gather some useful info.
    Where can I get the sources? I downloaded squeezeslave here: https://sourceforge.net/project/show...roup_id=105169 but I only get a binary and a LICENSE.txt?!? Am I again to blind...?

    nickname
    Last edited by nickname; 2008-02-19 at 03:19.

  4. #4
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    936

    Obtaining squeezeslave sources

    You can download the source via subversion.

    svn co http://svn.slimdevices.com/repos/slim/trunk/softsqueeze

    You'll find the sources for squeezeslave in softsqueeze/SlimProtoLib/src/{slimproto,slimaudio,squeezeslave}

    -ralphy

  5. #5
    Member
    Join Date
    Aug 2007
    Location
    Montreal, Canada
    Posts
    59

    Possibly not squeezeslave-related...

    Quote Originally Posted by nickname View Post
    it works fine...
    ... for 2-10 Songs. Then playback skips randomly to another song in the playlist or it stops totally.
    When I go to the webinterface to play a specific song, playback starts again, but not with the song I selected. Also I get this error:
    Code:
    flac decoder error 0
    (for every time the playback stops or jumps to another song...
    I vaguely remember reading about a similar problem with SqueezeCenter 7.0, but I may be wrong (please look into the forum for info on this). I'm running 6.5.4, have a collection of many thousands of flacs and have none of these problems.

    I'll try to see what "error 0" is (tonight... I have to go work now!) and meanwhile, can you check what version of flac you used for encoding your files? Not sure it makes a big difference, but every piece of information helps. squeezeslave is staticly linked against flac 1.2.0 if I remember correctly.

    I have pointed you to the sources because I was under the assumption you had compiled your own version. My tired brain had read OpenBSD instead of OpenSUSE... so forget that bit about uploading your binary

    Keep us informed,

    Dominique

  6. #6
    Junior Member
    Join Date
    May 2007
    Posts
    16
    Thanks for your answer.
    Quote Originally Posted by Dominique View Post
    I vaguely remember reading about a similar problem with SqueezeCenter 7.0, but I may be wrong (please look into the forum for info on this).
    I tried, but I always get a "Connection closed by remote server" when I try to search...
    Quote Originally Posted by Dominique View Post
    I'll try to see what "error 0" is (tonight... I have to go work now!) and meanwhile, can you check what version of flac you used for encoding your files?
    I don't know how to get the exact flac versions, but I think there are files from version 1.0 to 1.21 (the collection evolves over the years).
    I write again, when I know something more concrete.
    Thanks again,

    nickname

  7. #7
    Member
    Join Date
    Aug 2007
    Location
    Montreal, Canada
    Posts
    59

    Try server-side decoding

    Hi again,

    I just thought of something that you can try so we can learn more about your problem: try server-side flac-to-pcm conversion. In the server options, there is one tab where all available conversions can be enabled/disable. For FLAC, try only leaving the FLAC to PCM conversion. squeezeslave is able to receive pcm so we'll know if this is a problem in the squeezeslave flac decoder or just due to SqueezeCenter losing track.

    Another thing to try is turning on some debugging tracing, in the server's debugging tab. I did this a few times with success. I'd start by enabling the following levels:

    d_cli d_client d_command d_control d_directstream d_display d_files d_formats d_http d_http_async d_http_verbose d_info d_mdns d_memory d_mp3 d_os d_parse d_paths d_playlist d_plugins d_prefs d_protocol d_remotestream d_scheduler d_select d_server d_slimproto d_slimproto_v d_source d_source_v d_startup d_stdio d_stream d_stream_v d_sync d_sync_v

    This will probably be extremely verbose, but that's a start. Just monitor the content of squeezecenter's log file for hints of the reason why it starts skipping tunes. My log file is in /var/log/slimserver/slimserver.log; yours may be different (I don't know where they are in the slimserver-to-squeezecenter renaming task).

    Just doing

    Code:
    tail -f /var/log/slimserver/slimserver.log
    should let you see what happens in real-time. Disable unneeded trace levels if there's too much info.

    BTW, I looked at the "flac decoder error 0". The description for this error code says:

    "An error in the stream caused the decoder to lose synchronization."

    This looks like the source of the data broke the sequence of packets in some way, which smells like a server-side problem. This is why I'm suggesting this server-side debugging.

    Hope this helps.

    Again, you may get more eyes looking at your problem if you post to the squeezeslave thread I mentioned earlier.

    Dominique

  8. #8
    Junior Member
    Join Date
    Sep 2007
    Posts
    5
    I actually see this behaviour, too, but with mp3s. I get "decoding error" in the squeezeslave 0.7.5, and the server skips the song.

    I will try to add logging.

  9. #9
    Junior Member
    Join Date
    Sep 2007
    Posts
    5
    I should add that I am:

    1) streaming over a ssh tunnel
    2) It only skips when I click "next" in the webinterface. When changing song by itself it is fine. It also never skips in the middle a of a song, but only when trying to advance to the next one - then it plays a small small piece of that, then skips to the next song.

  10. #10
    Member
    Join Date
    Aug 2007
    Location
    Montreal, Canada
    Posts
    59

    Debugging ideas

    Quote Originally Posted by sandos View Post
    I should add that I am:

    1) streaming over a ssh tunnel
    Are you able to remove this from the equation while we're looking for the problem? Maybe there is some timeout involved (assuming you are streaming over some slow/not-totally reliable connection).

    2) It only skips when I click "next" in the webinterface. When changing song by itself it is fine. It also never skips in the middle a of a song, but only when trying to advance to the next one - then it plays a small small piece of that, then skips to the next song.
    The only annoyance I see on my side is that sometimes, when I start a new song while another is playing, the new song gets selected, but is in stopped mode.

    I'd still like to know what happens if you try server-side decoding. pcm decoding in squeezeslave is not using any stateful decoding library and is therefore more robust. This could be called hiding the problem, but it's worth trying (unless your network bandwidth won't tolerate that well, of course).

    Dominique

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •