mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2026-04-17 12:09:33 +01:00
airplay artwork and CSpot leak fix (temporary)
This commit is contained in:
@@ -24,7 +24,8 @@ PlayerState::PlayerState(std::shared_ptr<TimeProvider> timeProvider)
|
||||
innerFrame.state.repeat = false;
|
||||
innerFrame.state.has_repeat = true;
|
||||
|
||||
innerFrame.device_state.sw_version = (char*) swVersion;
|
||||
innerFrame.device_state.has_sw_version = true;
|
||||
pbPutCharArray(swVersion, innerFrame.device_state.sw_version);
|
||||
|
||||
innerFrame.device_state.is_active = false;
|
||||
innerFrame.device_state.has_is_active = true;
|
||||
@@ -35,7 +36,8 @@ PlayerState::PlayerState(std::shared_ptr<TimeProvider> timeProvider)
|
||||
innerFrame.device_state.volume = configMan->volume;
|
||||
innerFrame.device_state.has_volume = true;
|
||||
|
||||
innerFrame.device_state.name = (char*) configMan->deviceName.c_str();
|
||||
innerFrame.device_state.has_name = true;
|
||||
pbPutString(configMan->deviceName, innerFrame.device_state.name);
|
||||
|
||||
// Prepare player's capabilities
|
||||
addCapability(CapabilityType_kCanBePlayer, 1);
|
||||
@@ -137,7 +139,8 @@ void PlayerState::updatePositionMs(uint32_t position)
|
||||
void PlayerState::updateTracks()
|
||||
{
|
||||
CSPOT_LOG(info, "---- Track count %d", remoteFrame.state.track_count);
|
||||
innerFrame.state.context_uri = remoteFrame.state.context_uri == nullptr ? nullptr : strdup(remoteFrame.state.context_uri);
|
||||
strcpy(innerFrame.state.context_uri, remoteFrame.state.context_uri);
|
||||
|
||||
std::copy(std::begin(remoteFrame.state.track), std::end(remoteFrame.state.track), std::begin(innerFrame.state.track));
|
||||
innerFrame.state.track_count = remoteFrame.state.track_count;
|
||||
innerFrame.state.has_playing_track_index = true;
|
||||
@@ -198,9 +201,14 @@ std::vector<uint8_t> PlayerState::encodeCurrentFrame(MessageType typ)
|
||||
{
|
||||
// Prepare current frame info
|
||||
innerFrame.version = 1;
|
||||
innerFrame.ident = (char *) deviceId;
|
||||
|
||||
pbPutCharArray(deviceId, innerFrame.ident);
|
||||
innerFrame.has_ident = true;
|
||||
|
||||
innerFrame.seq_nr = this->seqNum;
|
||||
innerFrame.protocol_version = (char*) protocolVersion;
|
||||
pbPutCharArray(protocolVersion, innerFrame.protocol_version);
|
||||
innerFrame.has_protocol_version = true;
|
||||
|
||||
innerFrame.typ = typ;
|
||||
innerFrame.state_update_id = timeProvider->getSyncedTimestamp();
|
||||
innerFrame.has_version = true;
|
||||
|
||||
Reference in New Issue
Block a user