Files
MuditaOS/module-audio/Audio/AudioDeviceFactory.cpp
Marcin Smoczyński f6dd452c41 [EGD-6799] Cleanup audio device interface
This refactoring removes invalid interface dependencies of the original
AudioDevice implementation:
 - move things characteristic to RT1051AudioCodec to audio::codec
 - remove dead methods
 - make start/stop optional and codec configuration independent
 - add more convenient way to get supported formats

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-05-20 19:31:06 +02:00

26 lines
674 B
C++

// Copyright (c) 2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "AudioDeviceFactory.hpp"
using namespace audio;
AudioDeviceFactory::AudioDeviceFactory(Observer *observer) : _observer(observer)
{}
std::shared_ptr<AudioDevice> AudioDeviceFactory::CreateDevice(const audio::Profile &profile)
{
std::shared_ptr<AudioDevice> device = getDevice(profile);
if (_observer != nullptr && device) {
_observer->onDeviceCreated(device, profile.GetAudioDeviceType());
}
return device;
}
void AudioDeviceFactory::setObserver(Observer *observer) noexcept
{
_observer = observer;
}