// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "AudioMux.hpp" #include "Audio.hpp" namespace audio { namespace { const std::map PlaybackTypePriority = { {PlaybackType::Meditation, 1}, {PlaybackType::CallRingtone, 2}, {PlaybackType::Alarm, 3}, {PlaybackType::Multimedia, 4}, {PlaybackType::TextMessageRingtone, 5}, {PlaybackType::Notifications, 5}, {PlaybackType::KeypadSound, 6}, {PlaybackType::None, static_cast(PlaybackType::Last)}, }; } // namespace AudioMux::AudioMux(AudioServiceMessage::Callback callback, size_t audioInputsCount) : audioInputs(audioInputsInternal) { audioInputsCount = audioInputsCount > 0 ? audioInputsCount : 1; audioInputsInternal.reserve(audioInputsCount); for (std::size_t i = 0; i < audioInputsCount; i++) { audioInputsInternal.emplace_back(Input(std::make_unique