#include "config.h"
#include "AudioSession.h"
#if USE(AUDIO_SESSION)
#include "AudioSessionListener.h"
#include "NotImplemented.h"
namespace WebCore {
AudioSession& AudioSession::sharedSession()
{
DEFINE_STATIC_LOCAL(AudioSession, session, ());
return session;
}
void AudioSession::addListener(AudioSessionListener* listener)
{
m_listeners.add(listener);
}
void AudioSession::removeListener(AudioSessionListener* listener)
{
m_listeners.remove(listener);
}
void AudioSession::beganAudioInterruption()
{
for (HashSet<AudioSessionListener*>::iterator i = m_listeners.begin(); i != m_listeners.end(); ++i)
(*i)->beganAudioInterruption();
}
void AudioSession::endedAudioInterruption()
{
for (HashSet<AudioSessionListener*>::iterator i = m_listeners.begin(); i != m_listeners.end(); ++i)
(*i)->endedAudioInterruption();
}
#if !PLATFORM(IOS) && !PLATFORM(MAC)
class AudioSessionPrivate {
};
AudioSession::AudioSession()
: m_private(nullptr)
{
notImplemented();
}
AudioSession::~AudioSession()
{
}
void AudioSession::setCategory(CategoryType)
{
notImplemented();
}
AudioSession::CategoryType AudioSession::categoryOverride() const
{
notImplemented();
return None;
}
void AudioSession::setCategoryOverride(CategoryType)
{
notImplemented();
}
AudioSession::CategoryType AudioSession::category() const
{
notImplemented();
return None;
}
float AudioSession::sampleRate() const
{
notImplemented();
return 0;
}
size_t AudioSession::numberOfOutputChannels() const
{
notImplemented();
return 0;
}
void AudioSession::setActive(bool)
{
notImplemented();
}
size_t AudioSession::preferredBufferSize() const
{
notImplemented();
return 0;
}
void AudioSession::setPreferredBufferSize(size_t)
{
notImplemented();
}
#endif // !PLATFORM(IOS)
}
#endif // USE(AUDIO_SESSION)