MockRealtimeAudioSourceGStreamer.h [plain text]
#pragma once
#if ENABLE(MEDIA_STREAM) && USE(LIBWEBRTC) && USE(GSTREAMER)
#include "GStreamerAudioData.h"
#include "GStreamerAudioStreamDescription.h"
#include "MockRealtimeAudioSource.h"
namespace WebCore {
class MockRealtimeAudioSourceGStreamer final : public MockRealtimeAudioSource {
public:
static Ref<MockRealtimeAudioSource> createForMockAudioCapturer(String&& deviceID, String&& name, String&& hashSalt);
~MockRealtimeAudioSourceGStreamer() = default;
protected:
void render(Seconds) final;
private:
friend class MockRealtimeAudioSource;
MockRealtimeAudioSourceGStreamer(String&& deviceID, String&& name, String&& hashSalt);
void reconfigure();
void addHum(float amplitude, float frequency, float sampleRate, uint64_t start, float *p, uint64_t count);
Optional<GStreamerAudioStreamDescription> m_streamFormat;
Vector<float> m_bipBopBuffer;
uint32_t m_maximiumFrameCount;
uint64_t m_samplesEmitted { 0 };
uint64_t m_samplesRendered { 0 };
};
}
#endif // ENABLE(MEDIA_STREAM) && USE(LIBWEBRTC) && USE(GSTREAMER)