arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
AudioLibs
StdioStream.h
Go to the documentation of this file.
1
#pragma once
2
#include <unistd.h>
3
#include "
AudioTools/CoreAudio/AudioStreams.h
"
4
5
namespace
audio_tools
{
6
16
class
StdioStream
:
public
BaseStream
{
17
public
:
18
AudioInfo
defaultConfig
() {
19
AudioInfo
def
;
20
def
.
bits_per_sample
= 16;
21
def
.sample_rate = 44100;
22
def
.channels = 2;
23
return
def
;
24
}
25
26
bool
begin
()
override
{
27
is_open
=
true
;
28
return
true
;
29
}
30
31
32
int
available
()
override
{
return
DEFAULT_BUFFER_SIZE
; }
33
34
size_t
readBytes
(
uint8_t
* data,
size_t
len)
override
{
35
// read from stdin
36
return ::read(0, data, len);
37
}
38
39
int
availableForWrite
()
override
{
return
DEFAULT_BUFFER_SIZE
; }
40
41
size_t
write
(
const
uint8_t
*data,
size_t
len)
override
{
42
if
(!
is_open
)
43
return
0;
44
// write to stdout
45
return ::write(1, data, len);
46
}
47
48
void
end
()
override
{
49
is_open
=
false
;
50
}
51
52
protected
:
53
bool
is_open
=
false
;
54
};
55
56
}
// namespace audio_tools
AudioStreams.h
DEFAULT_BUFFER_SIZE
#define DEFAULT_BUFFER_SIZE
Definition
avr.h:20
audio_tools::BaseStream
Base class for all Streams. It relies on write(const uint8_t *buffer, size_t size) and readBytes(uint...
Definition
BaseStream.h:33
audio_tools::StdioStream
Direct binary Audio Output to stdout. On linux you can hear the audio e.g. with ./generator | aplay -...
Definition
StdioStream.h:16
audio_tools::StdioStream::is_open
bool is_open
Definition
StdioStream.h:53
audio_tools::StdioStream::readBytes
size_t readBytes(uint8_t *data, size_t len) override
Definition
StdioStream.h:34
audio_tools::StdioStream::end
void end() override
Definition
StdioStream.h:48
audio_tools::StdioStream::available
int available() override
Definition
StdioStream.h:32
audio_tools::StdioStream::write
size_t write(const uint8_t *data, size_t len) override
Definition
StdioStream.h:41
audio_tools::StdioStream::defaultConfig
AudioInfo defaultConfig()
Definition
StdioStream.h:18
audio_tools::StdioStream::availableForWrite
int availableForWrite() override
Definition
StdioStream.h:39
audio_tools::StdioStream::begin
bool begin() override
Definition
StdioStream.h:26
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
AudioCodecsBase.h:10
audio_tools::writeData
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition
AudioTypes.h:508
audio_tools::AudioInfo
Basic Audio information which drives e.g. I2S.
Definition
AudioTypes.h:51
audio_tools::AudioInfo::bits_per_sample
uint8_t bits_per_sample
Number of bits per sample (int16_t = 16 bits)
Definition
AudioTypes.h:57
Generated by
1.9.8