Commit ee027f23 authored by Max Kellermann's avatar Max Kellermann

decoder/faad: allocate DecoderBuffer on stack

parent 3ae0d6f4
......@@ -307,27 +307,24 @@ faad_decoder_decode(NeAACDecHandle decoder, DecoderBuffer *buffer,
static std::pair<bool, SignedSongTime>
faad_get_file_time(InputStream &is)
{
DecoderBuffer *buffer =
new DecoderBuffer(nullptr, is,
FAAD_MIN_STREAMSIZE * MAX_CHANNELS);
auto duration = faad_song_duration(buffer, is);
DecoderBuffer buffer(nullptr, is,
FAAD_MIN_STREAMSIZE * MAX_CHANNELS);
auto duration = faad_song_duration(&buffer, is);
bool recognized = !duration.IsNegative();
if (!recognized) {
NeAACDecHandle decoder = faad_decoder_new();
decoder_buffer_fill(buffer);
decoder_buffer_fill(&buffer);
AudioFormat audio_format;
if (faad_decoder_init(decoder, buffer, audio_format,
if (faad_decoder_init(decoder, &buffer, audio_format,
IgnoreError()))
recognized = true;
NeAACDecClose(decoder);
}
delete buffer;
return std::make_pair(recognized, duration);
}
......@@ -414,20 +411,18 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is,
static void
faad_stream_decode(Decoder &mpd_decoder, InputStream &is)
{
DecoderBuffer *buffer =
new DecoderBuffer(&mpd_decoder, is,
FAAD_MIN_STREAMSIZE * MAX_CHANNELS);
DecoderBuffer buffer(&mpd_decoder, is,
FAAD_MIN_STREAMSIZE * MAX_CHANNELS);
/* create the libfaad decoder */
const NeAACDecHandle decoder = faad_decoder_new();
faad_stream_decode(mpd_decoder, is, buffer, decoder);
faad_stream_decode(mpd_decoder, is, &buffer, decoder);
/* cleanup */
NeAACDecClose(decoder);
delete buffer;
}
static bool
......
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