Maybe I have a fix for all the 48000/44100 Hz issues, instead of the
convert.conf:
Code:
--------------------
int slimproto_helo(slimproto_t *p, char device_id, char revision, const
char *macaddress, char isGraphics, char isReconnect) {
/* Only when message is larger than 36 are capabilities supported, so
msg should look like:
( $deviceid, $revision,
$mac[0], $mac[1], $mac[2], $mac[3], $mac[4], $mac[5],
$uuid,
$wlan_channellist, $bytes_received_H,
$bytes_received_L, $lang
) = unpack("CCH2H2H2H2H2H2H32nNNA2", $$data_ref);
*/
unsigned char msg[SLIMPROTO_MSG_SIZE];
int channelList = 0;
memset(&msg, 0, SLIMPROTO_MSG_SIZE);
packA4(msg, 0, "HELO");
packN4(msg, 4, (36+19));
packC(msg, 8, device_id);
packC(msg, 9, revision);
memcpy(msg+10, macaddress, 6);
memcpy(msg+16, "\x00\x00\x00\x00\x00\x00\x00\x00", 16);
if (isGraphics)
channelList |= 0x8000;
if (isReconnect)
channelList |= 0x4000;
packN2(msg, 32, channelList);
packN4(msg, 34, 0); // bytes_received_H
packN4(msg, 38, 0); // bytes_received_L
memcpy(msg+42, "\x00\x00", 2); // language
memcpy(msg+44, "MaxSampleRate=44100", 19);
return slimproto_send(p, msg);
}
--------------------
I first added a language switch to the command line arguments, which
passed it on to slimproto_helo, but it didn't seemed to make a
difference, so I left it at \x00\x00
There is a problem though: Slim::Player::SqueezeSlave does not use the
capabilities supplied, but if you start squeezeslave with -e12
(Squeezeplay, so no display), it reads the capabilities and correctly
resamples to 44.1kHz. So for this to fully function, a server-side fix
is necessary.
--
lauret
------------------------------------------------------------------------
lauret's Profile: http://forums.slimdevices.com/member.php?userid=17632
View this thread: http://forums.slimdevices.com/showthread.php?t=83362
_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/discuss