GNU Radio 3.3.0 C++ API
|
audio source using ALSA More...
#include <audio_alsa_source.h>
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. |
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].
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 | ( | ) |
bool audio_alsa_source::check_topology | ( | int | ninputs, |
int | noutputs | ||
) | [virtual] |
Confirm that ninputs and noutputs is an acceptable combination.
ninputs | number of input streams connected |
noutputs | number of output streams connected |
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] |
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.
sampling_rate | sampling rate |
device_name | ALSA pcm device name, e.g., "hw:0,0" |
ok_to_block | (currently ignored) |