mirror of
https://github.com/badaix/snapcast.git
synced 2025-07-24 11:57:37 +02:00
fix mem leak
This commit is contained in:
parent
dbd0b018e2
commit
211b5afdd3
3 changed files with 19 additions and 7 deletions
|
@ -30,9 +30,11 @@ namespace msg
|
|||
class CodecHeader : public BaseMessage
|
||||
{
|
||||
public:
|
||||
CodecHeader(const std::string& codecName = "", size_t size = 0) : BaseMessage(message_type::kCodecHeader), payloadSize(size), codec(codecName)
|
||||
CodecHeader(const std::string& codecName = "", size_t size = 0)
|
||||
: BaseMessage(message_type::kCodecHeader), payloadSize(size), payload(nullptr), codec(codecName)
|
||||
{
|
||||
payload = (char*)malloc(size);
|
||||
if (size > 0)
|
||||
payload = (char*)malloc(size * sizeof(char));
|
||||
}
|
||||
|
||||
~CodecHeader() override
|
||||
|
@ -62,7 +64,7 @@ protected:
|
|||
writeVal(stream, payload, payloadSize);
|
||||
}
|
||||
};
|
||||
}
|
||||
} // namespace msg
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -50,6 +50,15 @@ public:
|
|||
|
||||
~PcmChunk() override = default;
|
||||
|
||||
template <class Rep, class Period>
|
||||
int readFrames(void* outputBuffer, const std::chrono::duration<Rep, Period>& duration)
|
||||
{
|
||||
auto us = std::chrono::microseconds(duration).count();
|
||||
auto frames = (us * 48000) / std::micro::den;
|
||||
// return readFrames(outputBuffer, (us * 48000) / std::micro::den);
|
||||
return frames;
|
||||
}
|
||||
|
||||
int readFrames(void* outputBuffer, size_t frameCount)
|
||||
{
|
||||
// logd << "read: " << frameCount << ", total: " << (wireChunk->length / format.frameSize) << ", idx: " << idx;// << std::endl;
|
||||
|
@ -123,6 +132,6 @@ public:
|
|||
private:
|
||||
uint32_t idx_;
|
||||
};
|
||||
}
|
||||
} // namespace msg
|
||||
|
||||
#endif
|
||||
|
|
|
@ -39,9 +39,10 @@ namespace msg
|
|||
class WireChunk : public BaseMessage
|
||||
{
|
||||
public:
|
||||
WireChunk(size_t size = 0) : BaseMessage(message_type::kWireChunk), payloadSize(size)
|
||||
WireChunk(size_t size = 0) : BaseMessage(message_type::kWireChunk), payloadSize(size), payload(nullptr)
|
||||
{
|
||||
payload = (char*)malloc(size);
|
||||
if (size > 0)
|
||||
payload = (char*)malloc(size * sizeof(char));
|
||||
}
|
||||
|
||||
WireChunk(const WireChunk& wireChunk) : BaseMessage(message_type::kWireChunk), timestamp(wireChunk.timestamp), payloadSize(wireChunk.payloadSize)
|
||||
|
@ -84,7 +85,7 @@ protected:
|
|||
writeVal(stream, payload, payloadSize);
|
||||
}
|
||||
};
|
||||
}
|
||||
} // namespace msg
|
||||
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue