AudioDestinationGStreamer.h [plain text]
#ifndef AudioDestinationGStreamer_h
#define AudioDestinationGStreamer_h
#include "AudioBus.h"
#include "AudioDestination.h"
typedef struct _GstElement GstElement;
typedef struct _GstPad GstPad;
namespace WebCore {
class AudioDestinationGStreamer : public AudioDestination {
public:
AudioDestinationGStreamer(AudioSourceProvider&, float sampleRate);
virtual ~AudioDestinationGStreamer();
virtual void start();
virtual void stop();
bool isPlaying() { return m_isPlaying; }
float sampleRate() const { return m_sampleRate; }
AudioSourceProvider& sourceProvider() const { return m_provider; }
void finishBuildingPipelineAfterWavParserPadReady(GstPad*);
private:
AudioSourceProvider& m_provider;
AudioBus m_renderBus;
float m_sampleRate;
bool m_isPlaying;
bool m_wavParserAvailable;
bool m_audioSinkAvailable;
GstElement* m_pipeline;
};
}
#endif // AudioDestinationGStreamer_h