Files
MuditaOS/module-audio/board/linux/LinuxAudioPlatform.cpp
Przemyslaw Brudny 289316b32d [EGD-7730] Alarm audio calls fixes
Added system sound setting. Refactored Alarm sound settings.
Fixed linux audio device initial volume level. Fixed Alarm
vibrations.
2021-10-06 19:36:02 +03:00

37 lines
1023 B
C++

// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <Audio/AudioPlatform.hpp>
#include <Audio/Profiles/Profile.hpp>
#include <board/linux/LinuxAudioDevice.hpp>
#include <memory>
#include <utility>
using audio::AudioDevice;
using audio::AudioDeviceFactory;
using audio::AudioPlatform;
class LinuxAudioFactory : public AudioDeviceFactory
{
public:
std::shared_ptr<AudioDevice> createCellularAudioDevice() override
{
return nullptr;
}
protected:
std::shared_ptr<AudioDevice> getDevice([[maybe_unused]] const audio::Profile &profile) override
{
if (profile.GetAudioDeviceType() == AudioDevice::Type::Audiocodec) {
return std::make_shared<audio::LinuxAudioDevice>(profile.GetAudioConfiguration().outputVolume);
}
return nullptr;
}
};
std::unique_ptr<AudioDeviceFactory> AudioPlatform::GetDeviceFactory()
{
return std::make_unique<LinuxAudioFactory>();
}