Commit 46eab050 authored by Max Kellermann's avatar Max Kellermann

decoder/opus: allocate buffer only in the first chained song

Fixes memory leak. That's what we get for
parent 5ca137c7
......@@ -6,6 +6,7 @@ ver 0.21.25 (not yet released)
- smbclient: don't send credentials to MPD clients
* decoder
- opus: apply pre-skip
- opus: fix memory leak
* output
- osx: improve sample rate selection
* Windows/Android:
......
......@@ -192,8 +192,12 @@ MPDOpusDecoder::OnOggBeginning(const ogg_packet &packet)
client.Ready(audio_format, eos_granulepos > 0, duration);
frame_size = audio_format.GetFrameSize();
output_buffer = new opus_int16[opus_output_buffer_frames
* audio_format.channels];
if (output_buffer == nullptr)
/* note: if we ever support changing the channel count
in chained streams, we need to reallocate this
buffer instead of keeping it */
output_buffer = new opus_int16[opus_output_buffer_frames
* audio_format.channels];
auto cmd = client.GetCommand();
if (cmd != DecoderCommand::NONE)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment