#include <portaudioRecorder/PortAudioRecorderDeviceDriver.h>
Definition at line 47 of file PortAudioRecorderDeviceDriver.h.
Public Member Functions | |
PortAudioRecorderDeviceDriver () | |
PortAudioRecorderDeviceDriver (const PortAudioRecorderDeviceDriver &)=delete | |
PortAudioRecorderDeviceDriver (PortAudioRecorderDeviceDriver &&)=delete | |
PortAudioRecorderDeviceDriver & | operator= (const PortAudioRecorderDeviceDriver &)=delete |
PortAudioRecorderDeviceDriver & | operator= (PortAudioRecorderDeviceDriver &&)=delete |
~PortAudioRecorderDeviceDriver () override | |
bool | open (yarp::os::Searchable &config) override |
Open the DeviceDriver. More... | |
bool | open (PortAudioRecorderDeviceDriverSettings &config) |
Configures the device. More... | |
bool | close () override |
Close the DeviceDriver. More... | |
bool | getSound (yarp::sig::Sound &sound, size_t min_number_of_samples, size_t max_number_of_samples, double max_samples_timeout_s) override |
Get a sound from a device. More... | |
bool | startRecording () override |
Start the recording. More... | |
bool | stopRecording () override |
Stop the recording. More... | |
bool | getRecordingAudioBufferMaxSize (yarp::dev::AudioBufferSize &size) override |
bool | getRecordingAudioBufferCurrentSize (yarp::dev::AudioBufferSize &size) override |
bool | resetRecordingAudioBuffer () override |
void | threadRelease () override |
Release method. More... | |
bool | threadInit () override |
Initialization method. More... | |
void | run () override |
Main body of the new thread. More... | |
![]() | |
virtual | ~IAudioGrabberSound () |
Destructor. More... | |
![]() | |
~DeviceDriver () override=default | |
Destructor. More... | |
template<class T > | |
bool | view (T *&x) |
Get an interface to the device driver. More... | |
virtual DeviceDriver * | getImplementation () |
Some drivers are bureaucrats, pointing at others. More... | |
![]() | |
virtual | ~IConfig () |
Destructor. More... | |
virtual bool | configure (Searchable &config) |
Change online parameters. More... | |
![]() | |
Thread () | |
Constructor. More... | |
virtual | ~Thread () |
Destructor. More... | |
virtual void | onStop () |
Call-back, called while halting the thread (before join). More... | |
bool | start () |
Start the new thread running. More... | |
bool | stop () |
Stop the thread. More... | |
virtual void | beforeStart () |
Called just before a new thread starts. More... | |
virtual void | afterStart (bool success) |
Called just after a new thread starts (or fails to start), this is executed by the same thread that calls start(). More... | |
bool | isStopping () |
Returns true if the thread is stopping (Thread::stop has been called). More... | |
bool | isRunning () |
Returns true if the thread is running (Thread::start has been called successfully and the thread has not stopped). More... | |
long int | getKey () |
Get a unique identifier for the thread. More... | |
int | setPriority (int priority, int policy=-1) |
Set the priority and scheduling policy of the thread, if the OS supports that. More... | |
int | getPriority () |
Query the current priority of the thread, if the OS supports that. More... | |
int | getPolicy () |
Query the current scheduling policy of the thread, if the OS supports that. More... | |
bool | join (double seconds=-1) |
The function returns when the thread execution has completed. More... | |
void | setOptions (int stackSize=0) |
Set the stack size for the new thread. More... | |
Protected Member Functions | |
void | handleError () |
Protected Attributes | |
void * | m_system_resource |
PortAudioRecorderDeviceDriverSettings | m_driverConfig |
Additional Inherited Members | |
![]() | |
static int | getCount () |
Check how many threads are running. More... | |
static long int | getKeyOfCaller () |
Get a unique identifier for the calling thread. More... | |
static void | yield () |
Reschedule the execution of current thread, allowing other threads to run. More... | |
static void | setDefaultStackSize (int stackSize) |
Set the default stack size for all threads created after this point. More... | |
PortAudioRecorderDeviceDriver::PortAudioRecorderDeviceDriver | ( | ) |
Definition at line 136 of file PortAudioRecorderDeviceDriver.cpp.
|
delete |
|
delete |
|
override |
Definition at line 146 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 243 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 411 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 418 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Get a sound from a device.
Examples: getSound(s, 0, 100, 0.1); returns a sound whose size can vary between 0 and 100, with a maximum blocking time of 0.1 getSound(s, 100, 100, 0.0); returns a sound with exact size of 100. It may block forever (more specifically, until sound size is at least 100). getSound(s, 100, 100000, 0.0); returns a sound with a minimum size of 0, while trying to transfer all the internal buffer. It may block forever (more specifically, until sound size is at least 100).
sound | the sound to be filled |
min_number_of_samples. | The function will block until the driver is able to collect at least min_number_of_samples. If set to zero, the function may return empty sounds. |
max_number_of_samples. | The function will block until the driver is either able to collect max_number_of_samples or the timeout expires. |
max_samples_timeout_s. | The timeout (in seconds) to retrieve max_number_of_samples. |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 294 of file PortAudioRecorderDeviceDriver.cpp.
|
protected |
Definition at line 230 of file PortAudioRecorderDeviceDriver.cpp.
bool PortAudioRecorderDeviceDriver::open | ( | PortAudioRecorderDeviceDriverSettings & | config | ) |
Configures the device.
rate: Sample rate to use, in Hertz. Specify 0 to use a default.
samples: Number of samples per call to getSound. Specify 0 to use a default.
channels: Number of channels of input. Specify 0 to use a default.
Definition at line 162 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Open the DeviceDriver.
config | is a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device). |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 152 of file PortAudioRecorderDeviceDriver.cpp.
|
delete |
|
delete |
|
overridevirtual |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 425 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Main body of the new thread.
Override this method to do what you want. After Thread::start is called, this method will start running in a separate thread. It is important that this method either keeps checking Thread::isStopping to see if it should stop, or you override the Thread::onStop method to interact with it in some way to shut the new thread down. There is no really reliable, portable way to stop a thread cleanly unless that thread cooperates.
Implements yarp::os::Thread.
Definition at line 382 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Start the recording.
Implements yarp::dev::IAudioGrabberSound.
Definition at line 266 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Stop the recording.
Implements yarp::dev::IAudioGrabberSound.
Definition at line 280 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Initialization method.
The thread executes this function when it starts and before "run". This is a good place to perform initialization tasks that need to be done by the thread itself (device drivers initialization, memory allocation etc). If the function returns false the thread quits and never calls "run". The return value of threadInit() is notified to the class and passed as a parameter to afterStart(). Note that afterStart() is called by the same thread that is executing the "start" method.
Reimplemented from yarp::os::Thread.
Definition at line 376 of file PortAudioRecorderDeviceDriver.cpp.
|
overridevirtual |
Release method.
The thread executes this function once when it exits, after the last "run". This is a good place to release resources that were initialized in threadInit() (release memory, and device driver resources).
Reimplemented from yarp::os::Thread.
Definition at line 372 of file PortAudioRecorderDeviceDriver.cpp.
|
protected |
Definition at line 103 of file PortAudioRecorderDeviceDriver.h.
|
protected |
Definition at line 101 of file PortAudioRecorderDeviceDriver.h.