filter/Internal: return std::unique_ptr<Filter>
This commit is contained in:
@@ -29,6 +29,9 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
AudioOutputSource::AudioOutputSource() noexcept {}
|
||||
AudioOutputSource::~AudioOutputSource() noexcept = default;
|
||||
|
||||
AudioFormat
|
||||
AudioOutputSource::Open(const AudioFormat audio_format, const MusicPipe &_pipe,
|
||||
PreparedFilter *prepared_replay_gain_filter,
|
||||
@@ -116,14 +119,9 @@ try {
|
||||
void
|
||||
AudioOutputSource::CloseFilter() noexcept
|
||||
{
|
||||
delete replay_gain_filter_instance;
|
||||
replay_gain_filter_instance = nullptr;
|
||||
|
||||
delete other_replay_gain_filter_instance;
|
||||
other_replay_gain_filter_instance = nullptr;
|
||||
|
||||
delete filter_instance;
|
||||
filter_instance = nullptr;
|
||||
replay_gain_filter_instance.reset();
|
||||
other_replay_gain_filter_instance.reset();
|
||||
filter_instance.reset();
|
||||
}
|
||||
|
||||
ConstBuffer<void>
|
||||
@@ -160,7 +158,7 @@ AudioOutputSource::GetChunkData(const MusicChunk &chunk,
|
||||
ConstBuffer<void>
|
||||
AudioOutputSource::FilterChunk(const MusicChunk &chunk)
|
||||
{
|
||||
auto data = GetChunkData(chunk, replay_gain_filter_instance,
|
||||
auto data = GetChunkData(chunk, replay_gain_filter_instance.get(),
|
||||
&replay_gain_serial);
|
||||
if (data.empty())
|
||||
return data;
|
||||
@@ -169,7 +167,7 @@ AudioOutputSource::FilterChunk(const MusicChunk &chunk)
|
||||
|
||||
if (chunk.other != nullptr) {
|
||||
auto other_data = GetChunkData(*chunk.other,
|
||||
other_replay_gain_filter_instance,
|
||||
other_replay_gain_filter_instance.get(),
|
||||
&other_replay_gain_serial);
|
||||
if (other_data.empty())
|
||||
return data;
|
||||
|
Reference in New Issue
Block a user