mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-04-19 06:30:46 -04:00
46 lines
1.0 KiB
C++
46 lines
1.0 KiB
C++
// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
namespace sys
|
|
{
|
|
class Service;
|
|
}
|
|
|
|
namespace call::api
|
|
{
|
|
class Audio
|
|
{
|
|
public:
|
|
virtual void play() = 0;
|
|
virtual void stop() = 0;
|
|
virtual void muteCall() = 0;
|
|
virtual void unmuteCall() = 0;
|
|
virtual void setLoudspeakerOn() = 0;
|
|
virtual void setLoudspeakerOff() = 0;
|
|
virtual void routingStart() = 0;
|
|
virtual ~Audio() = default;
|
|
};
|
|
} // namespace call::api
|
|
|
|
class Audio : public call::api::Audio
|
|
{
|
|
struct CallMeta;
|
|
sys::Service *owner;
|
|
CallMeta *meta = nullptr;
|
|
bool started = false;
|
|
|
|
public:
|
|
explicit Audio(sys::Service *);
|
|
~Audio();
|
|
|
|
void play();
|
|
void stop();
|
|
void muteCall();
|
|
void unmuteCall();
|
|
void setLoudspeakerOn();
|
|
void setLoudspeakerOff();
|
|
void routingStart();
|
|
};
|