GNU Radio 3.3.0 C++ API
audio_alsa_source Class Reference

audio source using ALSA More...

#include <audio_alsa_source.h>

Inheritance diagram for audio_alsa_source:

List of all members.

Public Member Functions

 ~audio_alsa_source ()
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

 audio_alsa_source (int sampling_rate, const std::string device_name, bool ok_to_block)
bool read_buffer (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_2x1 (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_2x1 (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)

Friends

audio_alsa_source_sptr audio_alsa_make_source (int sampling_rate, const std::string device_name, bool ok_to_block)
 Make an ALSA audio source.

Detailed Description

audio source using ALSA

The source has between 1 and N input streams of floats, where N is depends on the hardware characteristics of the selected device.

Output samples will be in the range [-1,1].


Constructor & Destructor Documentation

audio_alsa_source::audio_alsa_source ( int  sampling_rate,
const std::string  device_name,
bool  ok_to_block 
) [protected]
audio_alsa_source::~audio_alsa_source ( )

Member Function Documentation

bool audio_alsa_source::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.

bool audio_alsa_source::read_buffer ( void *  buffer,
unsigned  nframes,
unsigned  sizeof_frame 
) [protected]
int audio_alsa_source::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_source::work_s16 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
int audio_alsa_source::work_s16_2x1 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
int audio_alsa_source::work_s32 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]
int audio_alsa_source::work_s32_2x1 ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [protected]

Friends And Related Function Documentation

audio_alsa_source_sptr audio_alsa_make_source ( int  sampling_rate,
const std::string  device_name,
bool  ok_to_block 
) [friend]

Make an ALSA audio source.

Parameters:
sampling_ratesampling rate
device_nameALSA pcm device name, e.g., "hw:0,0"
ok_to_block(currently ignored)

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