GNU Radio 3.5.1 C++ API
audio_alsa_sink Class Reference

audio sink using ALSAThe sink has N input streams of floats, where N depends on the hardware characteristics of the selected device. More...

#include <audio_alsa_sink.h>

Inheritance diagram for audio_alsa_sink:

List of all members.

Public Member Functions

 audio_alsa_sink (int sampling_rate, const std::string device_name, bool ok_to_block)
 ~audio_alsa_sink ()
bool check_topology (int ninputs, int noutputs)
 Confirm that ninputs and noutputs is an acceptable combination.
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 just like gr_block::general_work, only this arranges to call consume_each for you

Protected Member Functions

bool write_buffer (const void *buffer, unsigned nframes, unsigned sizeof_frame)
int work_s16 (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
int work_s16_1x2 (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
int work_s32 (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
int work_s32_1x2 (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)

Detailed Description

audio sink using ALSA

The sink has N input streams of floats, where N depends on the hardware characteristics of the selected device.

Input samples must be in the range [-1,1].


Constructor & Destructor Documentation

audio_alsa_sink::audio_alsa_sink ( int  sampling_rate,
const std::string  device_name,
bool  ok_to_block 
)
audio_alsa_sink::~audio_alsa_sink ( )

Member Function Documentation

bool audio_alsa_sink::check_topology ( int  ninputs,
int  noutputs 
) [virtual]

Confirm that ninputs and noutputs is an acceptable combination.

Parameters:
ninputsnumber of input streams connected
noutputsnumber of output streams connected
Returns:
true if this is a valid configuration for this block.

This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.

Reimplemented from gr_basic_block.

int audio_alsa_sink::work ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

just like gr_block::general_work, only this arranges to call consume_each for you

The user must override work to define the signal processing code

Implements gr_sync_block.

int audio_alsa_sink::work_s16 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
int audio_alsa_sink::work_s16_1x2 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
int audio_alsa_sink::work_s32 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
int audio_alsa_sink::work_s32_1x2 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
bool audio_alsa_sink::write_buffer ( const void *  buffer,
unsigned  nframes,
unsigned  sizeof_frame 
) [protected]

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