Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::sndio::PulseaudioDevice Class Reference

PulseAudio device. Can be either source or sink depending on constructor parameter. More...

#include <pulseaudio_device.h>

Inheritance diagram for roc::sndio::PulseaudioDevice:
Collaboration diagram for roc::sndio::PulseaudioDevice:

Public Member Functions

 PulseaudioDevice (const Config &config, DeviceType device_type)
 Initialize. More...
 
bool open (const char *device)
 Open output device. More...
 
virtual ISinkto_sink ()
 Cast IDevice to ISink. More...
 
virtual ISourceto_source ()
 Cast IDevice to ISink. More...
 
virtual DeviceType type () const
 Get device type. More...
 
virtual DeviceState state () const
 Get device state. More...
 
virtual void pause ()
 Pause reading. More...
 
virtual bool resume ()
 Resume paused reading. More...
 
virtual bool restart ()
 Restart reading from the beginning. More...
 
virtual audio::SampleSpec sample_spec () const
 Get sample specification of the sink. More...
 
virtual core::nanoseconds_t latency () const
 Get latency of the sink. More...
 
virtual bool has_latency () const
 Check if the device supports latency reports. More...
 
virtual bool has_clock () const
 Check if the device has own clock. More...
 
virtual void reclock (core::nanoseconds_t timestamp)
 Adjust source clock to match consumer clock. More...
 
virtual void write (audio::Frame &frame)
 Write audio frame. More...
 
virtual bool read (audio::Frame &frame)
 Read audio frame. More...
 
- Public Member Functions inherited from roc::core::ListNode< Tag >
ListDatalist_data () const
 Get pointer to internal data. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from roc::core::ListNode< Tag >
static ListNodelist_node (ListData *data)
 Get pointer to parent node from pointer to internal data. More...
 

Detailed Description

PulseAudio device. Can be either source or sink depending on constructor parameter.

Definition at line 32 of file pulseaudio_device.h.

Constructor & Destructor Documentation

◆ PulseaudioDevice()

roc::sndio::PulseaudioDevice::PulseaudioDevice ( const Config config,
DeviceType  device_type 
)

Initialize.

Member Function Documentation

◆ has_clock()

virtual bool roc::sndio::PulseaudioDevice::has_clock ( ) const
virtual

Check if the device has own clock.

Implements roc::sndio::IDevice.

◆ has_latency()

virtual bool roc::sndio::PulseaudioDevice::has_latency ( ) const
virtual

Check if the device supports latency reports.

Implements roc::sndio::IDevice.

◆ latency()

virtual core::nanoseconds_t roc::sndio::PulseaudioDevice::latency ( ) const
virtual

Get latency of the sink.

Implements roc::sndio::IDevice.

◆ open()

bool roc::sndio::PulseaudioDevice::open ( const char *  device)

Open output device.

◆ pause()

virtual void roc::sndio::PulseaudioDevice::pause ( )
virtual

Pause reading.

Implements roc::sndio::IDevice.

◆ read()

virtual bool roc::sndio::PulseaudioDevice::read ( audio::Frame frame)
virtual

Read audio frame.

Implements roc::audio::IFrameReader.

◆ reclock()

virtual void roc::sndio::PulseaudioDevice::reclock ( core::nanoseconds_t  timestamp)
virtual

Adjust source clock to match consumer clock.

Implements roc::sndio::ISource.

◆ restart()

virtual bool roc::sndio::PulseaudioDevice::restart ( )
virtual

Restart reading from the beginning.

Implements roc::sndio::IDevice.

◆ resume()

virtual bool roc::sndio::PulseaudioDevice::resume ( )
virtual

Resume paused reading.

Implements roc::sndio::IDevice.

◆ sample_spec()

virtual audio::SampleSpec roc::sndio::PulseaudioDevice::sample_spec ( ) const
virtual

Get sample specification of the sink.

Implements roc::sndio::IDevice.

◆ state()

virtual DeviceState roc::sndio::PulseaudioDevice::state ( ) const
virtual

Get device state.

Implements roc::sndio::IDevice.

◆ to_sink()

virtual ISink* roc::sndio::PulseaudioDevice::to_sink ( )
virtual

Cast IDevice to ISink.

Implements roc::sndio::IDevice.

◆ to_source()

virtual ISource* roc::sndio::PulseaudioDevice::to_source ( )
virtual

Cast IDevice to ISink.

Implements roc::sndio::IDevice.

◆ type()

virtual DeviceType roc::sndio::PulseaudioDevice::type ( ) const
virtual

Get device type.

Implements roc::sndio::IDevice.

◆ write()

virtual void roc::sndio::PulseaudioDevice::write ( audio::Frame frame)
virtual

Write audio frame.

Implements roc::audio::IFrameWriter.


The documentation for this class was generated from the following file: