summaryrefslogtreecommitdiff
path: root/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h')
-rw-r--r--Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h32
1 files changed, 15 insertions, 17 deletions
diff --git a/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h b/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h
index 5cebac1b7..a3eed5147 100644
--- a/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h
+++ b/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -23,13 +23,13 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef MediaStreamAudioSource_h
-#define MediaStreamAudioSource_h
+#pragma once
#if ENABLE(MEDIA_STREAM)
#include "AudioDestinationConsumer.h"
-#include "MediaStreamSource.h"
+#include "RealtimeMediaSource.h"
+#include <wtf/Lock.h>
#include <wtf/RefCounted.h>
#include <wtf/ThreadingPrimitives.h>
#include <wtf/Vector.h>
@@ -38,40 +38,38 @@
namespace WebCore {
class AudioBus;
-class MediaStreamSourceCapabilities;
+class RealtimeMediaSourceCapabilities;
-class MediaStreamAudioSource : public MediaStreamSource {
+class MediaStreamAudioSource final : public RealtimeMediaSource {
public:
- static RefPtr<MediaStreamAudioSource> create();
+ static Ref<MediaStreamAudioSource> create();
~MediaStreamAudioSource() { }
- virtual bool useIDForTrackID() const { return true; }
+ RefPtr<RealtimeMediaSourceCapabilities> capabilities() const final;
+ const RealtimeMediaSourceSettings& settings() const final;
- virtual RefPtr<MediaStreamSourceCapabilities> capabilities() const;
- virtual const MediaStreamSourceStates& states();
-
const String& deviceId() const { return m_deviceId; }
void setDeviceId(const String& deviceId) { m_deviceId = deviceId; }
void setAudioFormat(size_t numberOfChannels, float sampleRate);
void consumeAudio(AudioBus*, size_t numberOfFrames);
- void addAudioConsumer(PassRefPtr<AudioDestinationConsumer>);
+ void addAudioConsumer(AudioDestinationConsumer*);
bool removeAudioConsumer(AudioDestinationConsumer*);
const Vector<RefPtr<AudioDestinationConsumer>>& audioConsumers() const { return m_audioConsumers; }
private:
MediaStreamAudioSource();
+ AudioSourceProvider* audioSourceProvider() override;
+
String m_deviceId;
- Mutex m_audioConsumersLock;
+ Lock m_audioConsumersLock;
Vector<RefPtr<AudioDestinationConsumer>> m_audioConsumers;
- MediaStreamSourceStates m_currentStates;
+ RealtimeMediaSourceSettings m_currentSettings;
};
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
-
-#endif // MediaStreamAudioSource_h