pippin wrote: 
> Hi, I've got some really weird issue with the plugin
> I can't play on any of my ip3k players anymore. The first track shows
> "buffering 1%" then hangs.
> 
> The only real difference I can see from the logs are the different
> buffer sizes used with setsockopts. Could it be that OSX doesn't support
> these large buffer sizes? Why does the plugin use different buffer sizes
> for ip3k players and SqueezePlay/iPeng?
> 
> The weird thing is that both the players and the plugin seem to
> otherwise work fine. That is: I can play all kind of other material on
> the players and if I use iPeng as a player I can play Spotify just fine.
> If I sync an ip3k player with iPeng music stops immediately when I power
> on the ip3k player as soon as I power it off iPeng plays on. I can sync
> two iPengs and it will work fine. I can fully use Touch or Radio as
> well.
> 
> Plugin version is 2.3.6, the LMS version is 7.8.0 (the release) on OSX
> Mavericks.
> 
> This only started recently.
> 
> > 
Code:
--------------------
  >   > 
  > [12:48:53.289901] main:547 new connection
  > [12:48:53.289979] main:599 req: stream.flc res: 
spotify:track:2Vogx6NbF6o4bfLhzKmo3O par: 
player=00%3A04%3A20%3A1e%3A01%3Ade&start=172784&sync=3&id=62 prot: 
SPOTSTREAM/1.0 auth: (null)
  > [12:48:53.290022] main:793 newstream connection from 192.168.0.45
  > [12:48:53.290033] main:829 streamid: 61 newid: 62 type: FLAC
  > [12:48:53.290044] main:833 existing streaming connection exists - killing
  > [12:48:53.290618] main:866 streambuf_newstream
  > [12:48:53.290652] set_sndbuf:227 setsockopt: asked for 524288 got 524288
  > [12:48:53.290664] main:1600 Now playing: Ultraviolence
  > [12:48:53.366645] main:547 new connection
  > [12:48:53.408309] main:599 req: stream.flc res: 
spotify:track:2Vogx6NbF6o4bfLhzKmo3O par: 
player=01%3A5b%3Af1%3A87%3Ad0%3Ae4&start=172784&sync=3&id=62 prot: 
SPOTSTREAM/1.0 auth: (null)
  > [12:48:53.408409] main:793 newstream connection from 192.168.0.37
  > [12:48:53.408426] main:829 streamid: 62 newid: 62 type: FLAC
  > [12:48:53.408447] main:876 streambuf_addplayer
  > [12:48:53.408473] set_sndbuf:227 setsockopt: asked for 32768 got 32768
  > [12:48:53.711610] main:547 new connection
  > [12:48:53.725243] main:599 req: stream.flc res: 
spotify:track:2Vogx6NbF6o4bfLhzKmo3O par: 
player=01%3A8e%3Aae%3A4b%3Aab%3A65&start=172784&sync=3&id=62 prot: 
SPOTSTREAM/1.0 auth: (null)
  > [12:48:53.725313] main:793 newstream connection from 192.168.0.34
  > [12:48:53.725327] main:829 streamid: 62 newid: 62 type: FLAC
  > [12:48:53.725340] main:876 streambuf_addplayer
  > [12:48:53.725360] set_sndbuf:227 setsockopt: asked for 32768 got 32768
  > [12:48:53.897968] music_delivery:485 channels: 2 sample rate: 44100 
streaming as: FLAC
  > [12:49:00.002983] main:547 new connection
  > [12:49:00.003044] main:599 req: prefetch.json res: 
spotify:track:0D2TtUbiX4QszhgMuye71Z par: (null) prot: HTTP/1.0 auth: (null)
  > [12:49:00.003086] main:965 prefetching track: No error
  > [12:49:00.108158] metadata_updated:86 new meta
  > 
--------------------
> > 
> 
> Actually much later (probably even when it works) it logs stuff like
> this:
> > 
Code:
--------------------
  >   > 
  > [12:53:43.286706] log_message:81 log: 10:53:43.286 E [ap:3915] Connection 
error:  114
  > [12:53:43.286878] log_message:81 log: 10:53:43.286 I [ap:1752] Connecting 
to AP ap.spotify.com:443
  > [12:53:43.287978] connection_error:66 connection error: Can not connect to 
Spotify
  > [12:53:47.519776] log_message:81 log: 10:53:47.519 I [ap:1226] Connected to 
AP: 194.132.162.50:443
  > [12:53:47.885219] music_delivery:485 channels: 2 sample rate: 44100 
streaming as: FLAC
  > 
--------------------
> > 

Thanks Pippin - I think you've helped me find a bug....

Recent versions had the requested socket send buffer increased
significantly due to problems with recent linux kernels which changed
how they manage tcp in some way.  However it looks like only the first
client connecting in a sync group got updated.  (This explains why this
fix doesn't work for sync on linux).

For your case on OSX - can you play to each player individually if sync
is disabled?  I am not aware of the larger setting causing a problem on
osx, but I am testing on 10.6.  For reference this is the code producing
that debug line:


Code:
--------------------
    
  void set_sndbuf(sockfd s, int size) {
        int sndbufsize = size;
        socklen_t len = sizeof(sndbufsize);
        setsockopt(s, SOL_SOCKET, SO_SNDBUF, (const void *) &sndbufsize, len);
        getsockopt(s, SOL_SOCKET, SO_SNDBUF, (void *) &sndbufsize, &len);
        LOG_DEBUG("setsockopt: asked for %d got %d", size, sndbufsize);
  }
  
--------------------


Do you see any reason for this not working with OSX with the larger
value (which should be used for all clients not just the first to
connect)


------------------------------------------------------------------------
Triode's Profile: http://forums.slimdevices.com/member.php?userid=17
View this thread: http://forums.slimdevices.com/showthread.php?t=79706

_______________________________________________
plugins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to