mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 19:47:02 +03:00
more memory leaks fixes
This commit is contained in:
@@ -34,5 +34,6 @@ void MercuryResponse::parseResponse(std::vector<uint8_t> &data)
|
|||||||
pos += 2 + partSize;
|
pos += 2 + partSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pb_release(Header_fields, this->mercuryHeader);
|
||||||
pbDecode(this->mercuryHeader, Header_fields, headerBytes);
|
pbDecode(this->mercuryHeader, Header_fields, headerBytes);
|
||||||
}
|
}
|
||||||
@@ -136,7 +136,7 @@ void PlayerState::updatePositionMs(uint32_t position)
|
|||||||
void PlayerState::updateTracks()
|
void PlayerState::updateTracks()
|
||||||
{
|
{
|
||||||
CSPOT_LOG(info, "---- Track count %d", remoteFrame.state.track_count);
|
CSPOT_LOG(info, "---- Track count %d", remoteFrame.state.track_count);
|
||||||
// innerFrame.state->context_uri = remoteFrame.state->context_uri == nullptr ? nullptr : strdup(otherFrame->state->context_uri);
|
innerFrame.state.context_uri = remoteFrame.state.context_uri == nullptr ? nullptr : strdup(remoteFrame.state.context_uri);
|
||||||
std::copy(std::begin(remoteFrame.state.track), std::end(remoteFrame.state.track), std::begin(innerFrame.state.track));
|
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.track_count = remoteFrame.state.track_count;
|
||||||
innerFrame.state.has_playing_track_index = true;
|
innerFrame.state.has_playing_track_index = true;
|
||||||
|
|||||||
@@ -95,6 +95,8 @@ void Session::processAPHelloResponse(std::vector<uint8_t> &helloPacket)
|
|||||||
CSPOT_LOG(debug, "Received AP hello response");
|
CSPOT_LOG(debug, "Received AP hello response");
|
||||||
// Decode the response
|
// Decode the response
|
||||||
auto skipSize = std::vector<uint8_t>(data.begin() + 4, data.end());
|
auto skipSize = std::vector<uint8_t>(data.begin() + 4, data.end());
|
||||||
|
|
||||||
|
pb_release(APResponseMessage_fields, apResponse);
|
||||||
pbDecode(apResponse, APResponseMessage_fields, skipSize);
|
pbDecode(apResponse, APResponseMessage_fields, skipSize);
|
||||||
|
|
||||||
auto diffieKey = std::vector<uint8_t>(apResponse.challenge.login_crypto_challenge.diffie_hellman.gs, apResponse.challenge.login_crypto_challenge.diffie_hellman.gs + 96);
|
auto diffieKey = std::vector<uint8_t>(apResponse.challenge.login_crypto_challenge.diffie_hellman.gs, apResponse.challenge.login_crypto_challenge.diffie_hellman.gs + 96);
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ void SpircController::prevSong() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SpircController::handleFrame(std::vector<uint8_t> &data) {
|
void SpircController::handleFrame(std::vector<uint8_t> &data) {
|
||||||
|
pb_release(Frame_fields, state->remoteFrame);
|
||||||
pbDecode(state->remoteFrame, Frame_fields, data);
|
pbDecode(state->remoteFrame, Frame_fields, data);
|
||||||
|
|
||||||
switch (state->remoteFrame.typ) {
|
switch (state->remoteFrame.typ) {
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ void SpotifyTrack::trackInformationCallback(std::unique_ptr<MercuryResponse> res
|
|||||||
return;
|
return;
|
||||||
CSPOT_ASSERT(response->parts.size() > 0, "response->parts.size() must be greater than 0");
|
CSPOT_ASSERT(response->parts.size() > 0, "response->parts.size() must be greater than 0");
|
||||||
|
|
||||||
|
pb_release(Track_fields, trackInfo);
|
||||||
pbDecode(trackInfo, Track_fields, response->parts[0]);
|
pbDecode(trackInfo, Track_fields, response->parts[0]);
|
||||||
|
|
||||||
CSPOT_LOG(info, "Track name: %s", trackInfo.name);
|
CSPOT_LOG(info, "Track name: %s", trackInfo.name);
|
||||||
@@ -126,6 +127,7 @@ void SpotifyTrack::episodeInformationCallback(std::unique_ptr<MercuryResponse> r
|
|||||||
return;
|
return;
|
||||||
CSPOT_LOG(debug, "Got to episode");
|
CSPOT_LOG(debug, "Got to episode");
|
||||||
CSPOT_ASSERT(response->parts.size() > 0, "response->parts.size() must be greater than 0");
|
CSPOT_ASSERT(response->parts.size() > 0, "response->parts.size() must be greater than 0");
|
||||||
|
pb_release(Episode_fields, episodeInfo);
|
||||||
pbDecode(episodeInfo, Episode_fields, response->parts[0]);
|
pbDecode(episodeInfo, Episode_fields, response->parts[0]);
|
||||||
|
|
||||||
CSPOT_LOG(info, "--- Episode name: %s", episodeInfo.name);
|
CSPOT_LOG(info, "--- Episode name: %s", episodeInfo.name);
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ TrackReference::TrackReference(TrackRef *ref)
|
|||||||
|
|
||||||
TrackReference::~TrackReference()
|
TrackReference::~TrackReference()
|
||||||
{
|
{
|
||||||
pb_release(TrackRef_fields, ref);
|
pb_release(TrackRef_fields, ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<uint8_t> TrackReference::base62Decode(std::string uri)
|
std::vector<uint8_t> TrackReference::base62Decode(std::string uri)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user