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:
(After "0: /dev/dsp" I type "0" and hit return)Code:nickname@server:~/squeezeslave-0.7.4> ./squeezeslave Output devices: 0: /dev/dsp 0 Error in recv: Bad file descriptor
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
Results 1 to 10 of 13
Thread: Problem with squeezeslave
-
2008-02-18, 09:32 #1Junior Member
- Join Date
- May 2007
- Posts
- 16
Problem with squeezeslave
-
2008-02-18, 21:39 #2Member
- 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.
Same story for me, except I found squeezeslave in a semi-abandoned state and picked up its maintenance.
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:But all I get on startup is:
(After "0: /dev/dsp" I type "0" and hit return)Code:nickname@server:~/squeezeslave-0.7.4> ./squeezeslave Output devices: 0: /dev/dsp 0 Error in recv: Bad file descriptor
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
--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
-
2008-02-19, 02:28 #3Junior Member
- Join Date
- May 2007
- Posts
- 16
Hi Dominique,
thanks a lot for your reply!
That was what solved my problem...
I always shutted squeezeslave down before I looked if I can play music x).
now I run
And it works fine...Code:nickname@server:~/squeezeslave-0.7.4> ./squeezeslave --signal --retry &
... 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:
(for every time the playback stops or jumps to another song...Code:flac decoder error 0
Playback of flac files (of which my music collection consists of) works fine (I'tried with amarok). Mp3 playback also works.
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...?
nicknameLast edited by nickname; 2008-02-19 at 03:19.
-
2008-02-19, 05:27 #4
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
-
2008-02-19, 07:44 #5Member
- Join Date
- Aug 2007
- Location
- Montreal, Canada
- Posts
- 59
Possibly not squeezeslave-related...
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
-
2008-02-19, 08:46 #6Junior Member
- Join Date
- May 2007
- Posts
- 16
Thanks for your answer.
I tried, but I always get a "Connection closed by remote server" when I try to search...
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
-
2008-02-19, 19:36 #7Member
- 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
should let you see what happens in real-time. Disable unneeded trace levels if there's too much info.Code:tail -f /var/log/slimserver/slimserver.log
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
-
2008-02-27, 00:58 #8Junior 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.
-
2008-02-28, 03:01 #9Junior 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.
-
2008-03-01, 13:31 #10Member
- Join Date
- Aug 2007
- Location
- Montreal, Canada
- Posts
- 59
Debugging ideas
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).
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.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.
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

Reply With Quote

