18 #ifndef KWAVE_RECORD_PULSEAUDIO_H 19 #define KWAVE_RECORD_PULSEAUDIO_H 22 #ifdef HAVE_PULSEAUDIO_SUPPORT 26 #include <pulse/context.h> 27 #include <pulse/error.h> 28 #include <pulse/introspect.h> 29 #include <pulse/mainloop.h> 30 #include <pulse/proplist.h> 31 #include <pulse/sample.h> 32 #include <pulse/stream.h> 37 #include <QStringList> 38 #include <QWaitCondition> 68 virtual QString
open(
const QString& dev) Q_DECL_OVERRIDE;
110 virtual QList< unsigned int >
supportedBits() Q_DECL_OVERRIDE;
147 virtual int tracks() Q_DECL_OVERRIDE;
166 virtual int detectTracks(
unsigned int& min,
unsigned int& max)
170 virtual int close() Q_DECL_OVERRIDE;
179 virtual int read(QByteArray& buffer,
unsigned int offset)
189 int mainloopPoll(
struct pollfd *ufds,
unsigned long int nfds,
195 virtual void run_wrapper(
const QVariant ¶ms) Q_DECL_OVERRIDE;
226 int eol,
void *userdata);
244 static void pa_read_cb(pa_stream *p,
size_t nbytes,
void *userdata);
276 void notifyRead(pa_stream *stream,
size_t nbytes);
395 #endif // KWAVE_RECORD_PULSEAUDIO_H
pa_sample_format_t mode2format(int compression, int bits, Kwave::SampleFormat::Format sample_format)
QList< pa_sample_format_t > m_supported_formats
void notifyRead(pa_stream *stream, size_t nbytes)
virtual int setSampleFormat(Kwave::SampleFormat::Format new_format) Q_DECL_OVERRIDE
virtual void run_wrapper(const QVariant ¶ms) Q_DECL_OVERRIDE
void detectSupportedFormats(const QString &device)
pa_sample_spec m_sample_spec
void notifyStreamState(pa_stream *stream)
virtual int bitsPerSample() Q_DECL_OVERRIDE
pa_proplist * m_pa_proplist
virtual QStringList supportedDevices() Q_DECL_OVERRIDE
virtual Kwave::Compression::Type compression() Q_DECL_OVERRIDE
virtual QList< double > detectSampleRates() Q_DECL_OVERRIDE
void disconnectFromServer()
QWaitCondition m_mainloop_signal
pa_mainloop * m_pa_mainloop
virtual int setCompression(Kwave::Compression::Type new_compression) Q_DECL_OVERRIDE
static void pa_source_info_cb(pa_context *c, const pa_source_info *info, int eol, void *userdata)
Kwave::WorkerThread m_mainloop_thread
unsigned int m_bits_per_sample
pa_context * m_pa_context
int initialize(uint32_t buffer_size)
virtual ~RecordPulseAudio() Q_DECL_OVERRIDE
virtual QList< unsigned int > supportedBits() Q_DECL_OVERRIDE
virtual int close() Q_DECL_OVERRIDE
virtual QList< Kwave::SampleFormat::Format > detectSampleFormats() Q_DECL_OVERRIDE
QMap< QString, source_info_t > m_device_list
virtual Kwave::byte_order_t endianness() Q_DECL_OVERRIDE
static void pa_read_cb(pa_stream *p, size_t nbytes, void *userdata)
void notifySourceInfo(pa_context *c, const pa_source_info *info, int eol)
static void pa_context_notify_cb(pa_context *c, void *userdata)
virtual int detectTracks(unsigned int &min, unsigned int &max) Q_DECL_OVERRIDE
virtual int setSampleRate(double &new_rate) Q_DECL_OVERRIDE
virtual int read(QByteArray &buffer, unsigned int offset) Q_DECL_OVERRIDE
virtual QList< Kwave::Compression::Type > detectCompressions() Q_DECL_OVERRIDE
virtual Kwave::SampleFormat::Format sampleFormat() Q_DECL_OVERRIDE
void notifyContext(pa_context *c)
virtual QString open(const QString &dev) Q_DECL_OVERRIDE
int mainloopPoll(struct pollfd *ufds, unsigned long int nfds, int timeout)
static void pa_stream_state_cb(pa_stream *p, void *userdata)
virtual double sampleRate() Q_DECL_OVERRIDE
Kwave::SampleFormat::Format m_sample_format
virtual int setBitsPerSample(unsigned int new_bits) Q_DECL_OVERRIDE
virtual int setTracks(unsigned int &tracks) Q_DECL_OVERRIDE
virtual int tracks() Q_DECL_OVERRIDE
Kwave::Compression::Type m_compression