From 177935c827d3fb8b882eb3b24b8acde3ec37fda7 Mon Sep 17 00:00:00 2001 From: pschatzmann Date: Mon, 9 Dec 2024 19:18:43 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20doxygen=20from=20@=20pschatzma?= =?UTF-8?q?nn/arduino-audio-tools@17b6eca6ad4d6ff42ec892157322c620bcff1110?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _audio_encoded_8h_source.html | 4 +- _audio_i_o_8h_source.html | 316 ++++----- _audio_streams_converter_8h_source.html | 4 +- _resample_stream_8h_source.html | 4 +- ...annel_format_converter_stream-members.html | 71 +- ...s_1_1_channel_format_converter_stream.html | 4 + ...nel_format_converter_stream_t-members.html | 69 +- ...1_1_channel_format_converter_stream_t.html | 4 + ...ools_1_1_encoded_audio_stream-members.html | 77 +-- ...audio__tools_1_1_encoded_audio_stream.html | 4 + ...s_1_1_format_converter_stream-members.html | 75 +- ...io__tools_1_1_format_converter_stream.html | 4 + ...umber_format_converter_stream-members.html | 81 +-- ...ls_1_1_number_format_converter_stream.html | 4 + ...ber_format_converter_stream_t-members.html | 81 +-- ..._1_1_number_format_converter_stream_t.html | 4 + ...ools_1_1_reformat_base_stream-members.html | 63 +- ...audio__tools_1_1_reformat_base_stream.html | 4 + ...io__tools_1_1_resample_stream-members.html | 109 +-- classaudio__tools_1_1_resample_stream.html | 4 + ...ols_1_1_transformation_reader-members.html | 10 +- ...udio__tools_1_1_transformation_reader.html | 16 +- functions.html | 16 +- functions_func.html | 12 +- functions_func_g.html | 3 + functions_func_r.html | 8 +- functions_g.html | 3 + functions_r.html | 8 +- search/all_1.js | 181 +++-- search/all_12.js | 94 +-- search/all_13.js | 638 +++++++++--------- search/all_14.js | 128 ++-- search/all_15.js | 52 +- search/all_16.js | 154 ++--- search/all_17.js | 70 +- search/all_18.js | 2 +- search/all_19.js | 4 +- search/all_1a.js | 52 +- search/all_2.js | 90 +-- search/all_3.js | 236 +++---- search/all_4.js | 116 ++-- search/all_5.js | 74 +- search/all_6.js | 186 ++--- search/all_7.js | 107 +-- search/classes_0.js | 224 +++--- search/classes_1.js | 48 +- search/classes_10.js | 16 +- search/classes_11.js | 84 +-- search/classes_12.js | 136 ++-- search/classes_13.js | 56 +- search/classes_14.js | 32 +- search/classes_15.js | 122 ++-- search/classes_16.js | 26 +- search/classes_2.js | 92 +-- search/classes_3.js | 56 +- search/classes_4.js | 30 +- search/classes_5.js | 100 +-- search/classes_6.js | 52 +- search/classes_7.js | 34 +- search/classes_8.js | 62 +- search/classes_9.js | 6 +- search/classes_a.js | 2 +- search/classes_b.js | 42 +- search/classes_c.js | 74 +- search/classes_d.js | 30 +- search/classes_e.js | 32 +- search/classes_f.js | 58 +- search/enums_0.js | 6 +- search/enums_1.js | 2 +- search/enums_2.js | 2 +- search/enums_3.js | 2 +- search/enums_4.js | 2 +- search/enums_5.js | 8 +- search/enums_6.js | 8 +- search/enums_7.js | 2 +- search/enums_8.js | 2 +- search/enums_9.js | 2 +- search/files_0.js | 10 +- search/files_1.js | 18 +- search/files_2.js | 2 +- search/files_3.js | 2 +- search/functions_0.js | 2 +- search/functions_1.js | 146 ++-- search/functions_10.js | 4 +- search/functions_11.js | 92 +-- search/functions_12.js | 494 +++++++------- search/functions_13.js | 54 +- search/functions_14.js | 16 +- search/functions_15.js | 22 +- search/functions_16.js | 46 +- search/functions_17.js | 52 +- search/functions_2.js | 26 +- search/functions_3.js | 106 +-- search/functions_4.js | 64 +- search/functions_5.js | 34 +- search/functions_6.js | 68 +- search/functions_7.js | 87 +-- search/functions_8.js | 24 +- search/functions_9.js | 124 ++-- search/functions_a.js | 4 +- search/functions_b.js | 40 +- search/functions_c.js | 76 +-- search/functions_d.js | 20 +- search/functions_e.js | 40 +- search/functions_f.js | 110 +-- search/groups_0.js | 2 +- search/groups_1.js | 4 +- search/groups_2.js | 14 +- search/groups_3.js | 4 +- search/groups_4.js | 10 +- search/groups_5.js | 6 +- search/groups_6.js | 4 +- search/groups_7.js | 2 +- search/groups_8.js | 6 +- search/groups_9.js | 2 +- search/groups_a.js | 6 +- search/groups_b.js | 4 +- search/groups_c.js | 4 +- search/groups_d.js | 2 +- search/groups_e.js | 6 +- search/groups_f.js | 4 +- search/namespaces_0.js | 4 +- search/namespaces_1.js | 2 +- search/namespaces_2.js | 2 +- search/pages_0.js | 2 +- search/related_0.js | 2 +- search/typedefs_0.js | 2 +- search/typedefs_1.js | 2 +- search/typedefs_2.js | 2 +- search/typedefs_3.js | 2 +- search/variables_0.js | 6 +- search/variables_1.js | 12 +- search/variables_10.js | 10 +- search/variables_11.js | 6 +- search/variables_12.js | 2 +- search/variables_13.js | 4 +- search/variables_2.js | 14 +- search/variables_3.js | 14 +- search/variables_4.js | 4 +- search/variables_5.js | 18 +- search/variables_6.js | 26 +- search/variables_7.js | 2 +- search/variables_8.js | 18 +- search/variables_9.js | 2 +- search/variables_a.js | 4 +- search/variables_b.js | 8 +- search/variables_c.js | 12 +- search/variables_d.js | 20 +- search/variables_e.js | 14 +- search/variables_f.js | 8 +- 150 files changed, 3428 insertions(+), 3355 deletions(-) diff --git a/_audio_encoded_8h_source.html b/_audio_encoded_8h_source.html index 812927ea63..8bc959dbf8 100644 --- a/_audio_encoded_8h_source.html +++ b/_audio_encoded_8h_source.html @@ -546,8 +546,8 @@
void setOutput(Print &out)
Defines/Changes the output target.
Definition: AudioEncoded.h:332
Abstract class: Objects can be put into a pipleline.
Definition: AudioOutput.h:97
Definition: NoArduino.h:58
-
Base class for chained converting streams.
Definition: AudioIO.h:142
-
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:144
+
Base class for chained converting streams.
Definition: AudioIO.h:153
+
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:155
Definition: NoArduino.h:125
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition: AudioConfig.h:868
Basic Audio information which drives e.g. I2S.
Definition: AudioTypes.h:52
diff --git a/_audio_i_o_8h_source.html b/_audio_i_o_8h_source.html index b5576a7d04..0822eb542e 100644 --- a/_audio_i_o_8h_source.html +++ b/_audio_i_o_8h_source.html @@ -101,167 +101,164 @@
41  }
42  }
43 
-
44  size_t readBytes(uint8_t *data, size_t len) {
-
45  LOGD("TransformationReader::readBytes: %d", (int)len);
-
46  if (!active) {
-
47  LOGE("inactive");
-
48  return 0;
-
49  }
-
50  if (p_stream == nullptr) {
-
51  LOGE("p_stream is NULL");
-
52  return 0;
-
53  }
+
45  void resizeReadBuffer(int size) {
+
46  buffer.resize(size);
+
47  }
+
48 
+
50  void resizeResultQueue(int size) {
+
51  result_queue_buffer.resize(size);
+
52  result_queue.begin();
+
53  }
54 
-
55  // we read half the necessary bytes
-
56  if (buffer.size() == 0) {
-
57  int size = (0.5f / p_transform->getByteFactor() * len);
-
58  // process full samples/frames
-
59  size = size / 4 * 4;
-
60  LOGI("read size: %d", size);
-
61  buffer.resize(size);
-
62  }
-
63 
-
64  if (rb.size() == 0) {
-
65  // make sure that the ring buffer is big enough
-
66  int rb_size = len * byte_count_factor;
-
67  LOGI("buffer size: %d", rb_size);
-
68  rb.resize(rb_size);
-
69  result_queue.begin();
-
70  }
-
71 
-
72  if (result_queue.available() < len) {
-
73  Print *tmp = setupOutput();
-
74  int zero_count = 0;
-
75  while (result_queue.available() < len) {
-
76  int read_eff = p_stream->readBytes(buffer.data(), buffer.size());
-
77  if (read_eff > 0) {
-
78  zero_count = 0; // reset 0 count
-
79  if (read_eff != buffer.size())
-
80  LOGD("readBytes %d -> %d", buffer.size(), read_eff);
-
81  int write_eff = p_transform->write(buffer.data(), read_eff);
-
82  if (write_eff != read_eff)
-
83  LOGE("write %d -> %d", read_eff, write_eff);
-
84  } else {
-
85  // limit the number of reads which provide 0;
-
86  if (++zero_count > MAX_ZERO_READ_COUNT){
-
87  break;
-
88  }
-
89  // wait for some more data
-
90  delay(5);
-
91  }
-
92  }
-
93  restoreOutput(tmp);
-
94  }
-
95 
-
96  int result_len = min((int)len, result_queue.available());
-
97  result_len = result_queue.readBytes(data, result_len);
-
98  LOGD("TransformationReader::readBytes: %d -> %d", (int)len,
-
99  result_len);
-
100 
-
101  return result_len;
-
102  }
-
103 
-
104  void end() {
-
105  rb.resize(0);
-
106  buffer.resize(0);
-
107  }
-
108 
-
109  void setByteCountFactor(int f) { byte_count_factor = f; }
-
110 
-
111  protected:
-
112  RingBuffer<uint8_t> rb{0};
-
113  QueueStream<uint8_t> result_queue{rb}; //
-
114  Stream *p_stream = nullptr;
-
115  Vector<uint8_t> buffer{0}; // we allocate memory only when needed
-
116  T *p_transform = nullptr;
-
117  bool active = false;
-
118  int byte_count_factor = 3;
+
55  size_t readBytes(uint8_t *data, size_t len) {
+
56  LOGD("TransformationReader::readBytes: %d", (int)len);
+
57  if (!active) {
+
58  LOGE("inactive");
+
59  return 0;
+
60  }
+
61  if (p_stream == nullptr) {
+
62  LOGE("p_stream is NULL");
+
63  return 0;
+
64  }
+
65 
+
66  // we read half the necessary bytes
+
67  if (buffer.size() == 0) {
+
68  int size = (0.5f / p_transform->getByteFactor() * len);
+
69  // process full samples/frames
+
70  size = size / 4 * 4;
+
71  LOGI("read size: %d", size);
+
72  buffer.resize(size);
+
73  }
+
74 
+
75  if (result_queue_buffer.size() == 0) {
+
76  // make sure that the ring buffer is big enough
+
77  int rb_size = len * byte_count_factor;
+
78  LOGI("buffer size: %d", rb_size);
+
79  result_queue_buffer.resize(rb_size);
+
80  result_queue.begin();
+
81  }
+
82 
+
83  if (result_queue.available() < len) {
+
84  Print *tmp = setupOutput();
+
85  int zero_count = 0;
+
86  while (result_queue.available() < len) {
+
87  int read_eff = p_stream->readBytes(buffer.data(), buffer.size());
+
88  if (read_eff > 0) {
+
89  zero_count = 0; // reset 0 count
+
90  if (read_eff != buffer.size())
+
91  LOGD("readBytes %d -> %d", buffer.size(), read_eff);
+
92  int write_eff = p_transform->write(buffer.data(), read_eff);
+
93  if (write_eff != read_eff)
+
94  LOGE("write %d -> %d", read_eff, write_eff);
+
95  } else {
+
96  // limit the number of reads which provide 0;
+
97  if (++zero_count > MAX_ZERO_READ_COUNT){
+
98  break;
+
99  }
+
100  // wait for some more data
+
101  delay(5);
+
102  }
+
103  }
+
104  restoreOutput(tmp);
+
105  }
+
106 
+
107  int result_len = min((int)len, result_queue.available());
+
108  result_len = result_queue.readBytes(data, result_len);
+
109  LOGD("TransformationReader::readBytes: %d -> %d", (int)len,
+
110  result_len);
+
111 
+
112  return result_len;
+
113  }
+
114 
+
115  void end() {
+
116  result_queue_buffer.resize(0);
+
117  buffer.resize(0);
+
118  }
119 
-
123  Print *setupOutput() {
-
124  Print *result = p_transform->getPrint();
-
125  p_transform->setOutput((Print &)result_queue);
-
126 
-
127  return result;
-
128  }
-
131  void restoreOutput(Print *out) {
-
132  if (out) p_transform->setOutput(*out);
-
133  }
-
134 };
-
135 
-
142 class ReformatBaseStream : public ModifyingStream {
-
143  public:
-
144  virtual void setStream(Stream &stream) override {
-
145  TRACED();
-
146  p_stream = &stream;
-
147  p_print = &stream;
-
148  }
-
149 
-
150  virtual void setStream(AudioStream &stream) {
-
151  TRACED();
-
152  p_stream = &stream;
-
153  p_print = &stream;
-
154  //setNotifyOnOutput(stream);
-
155  addNotifyAudioChange(stream);
-
156  }
-
157 
-
158  virtual void setOutput(AudioOutput &print) {
-
159  TRACED();
-
160  p_print = &print;
-
161  addNotifyAudioChange(print);
-
162  }
-
163 
-
164  virtual void setOutput(Print &print) override {
-
165  TRACED();
-
166  p_print = &print;
+
120  void setByteCountFactor(int f) { byte_count_factor = f; }
+
121 
+
122  protected:
+
123  RingBuffer<uint8_t> result_queue_buffer{0};
+
124  QueueStream<uint8_t> result_queue{result_queue_buffer}; //
+
125  Stream *p_stream = nullptr;
+
126  Vector<uint8_t> buffer{0}; // we allocate memory only when needed
+
127  T *p_transform = nullptr;
+
128  bool active = false;
+
129  int byte_count_factor = 3;
+
130 
+
134  Print *setupOutput() {
+
135  Print *result = p_transform->getPrint();
+
136  p_transform->setOutput((Print &)result_queue);
+
137 
+
138  return result;
+
139  }
+
142  void restoreOutput(Print *out) {
+
143  if (out) p_transform->setOutput(*out);
+
144  }
+
145 };
+
146 
+
153 class ReformatBaseStream : public ModifyingStream {
+
154  public:
+
155  virtual void setStream(Stream &stream) override {
+
156  TRACED();
+
157  p_stream = &stream;
+
158  p_print = &stream;
+
159  }
+
160 
+
161  virtual void setStream(AudioStream &stream) {
+
162  TRACED();
+
163  p_stream = &stream;
+
164  p_print = &stream;
+
165  //setNotifyOnOutput(stream);
+
166  addNotifyAudioChange(stream);
167  }
168 
-
169  virtual Print *getPrint() { return p_print; }
-
170 
-
171  virtual Stream *getStream() { return p_stream; }
-
172 
-
173  size_t readBytes(uint8_t *data, size_t len) override {
-
174  LOGD("ReformatBaseStream::readBytes: %d", (int)len);
-
175  return reader.readBytes(data, len);
-
176  }
-
177 
-
178  int available() override {
-
179  return DEFAULT_BUFFER_SIZE; // reader.availableForWrite();
-
180  }
+
169  virtual void setOutput(AudioOutput &print) {
+
170  TRACED();
+
171  p_print = &print;
+
172  addNotifyAudioChange(print);
+
173  }
+
174 
+
175  virtual void setOutput(Print &print) override {
+
176  TRACED();
+
177  p_print = &print;
+
178  }
+
179 
+
180  virtual Print *getPrint() { return p_print; }
181 
-
182  int availableForWrite() override {
-
183  return DEFAULT_BUFFER_SIZE; // reader.availableForWrite();
-
184  }
-
185 
-
186  virtual float getByteFactor() = 0;
-
187 
-
188  void end() override {
-
189  TRACED();
-
190  AudioStream::end();
-
191  reader.end();
-
192  }
-
193 
-
194  protected:
-
195  TransformationReader<ReformatBaseStream> reader;
-
196  Stream *p_stream = nullptr;
-
197  Print *p_print = nullptr;
-
198 // bool is_output_notify = false;
-
199 // AudioInfoSupport *p_notify_on_output = nullptr;
-
200 
-
201  // /// Define potential notification
-
202  // void setNotifyOnOutput(AudioInfoSupport &info) { p_notify_on_output = &info; }
-
203 
-
204  // /// Add notification on first call of write
-
205  // void addNotifyOnFirstWrite() {
-
206  // if (!is_output_notify) {
-
207  // if (p_notify_on_output != nullptr)
-
208  // addNotifyAudioChange(*p_notify_on_output);
-
209  // is_output_notify = true;
-
210  // }
-
211  // }
+
182  virtual Stream *getStream() { return p_stream; }
+
183 
+
184  size_t readBytes(uint8_t *data, size_t len) override {
+
185  LOGD("ReformatBaseStream::readBytes: %d", (int)len);
+
186  return reader.readBytes(data, len);
+
187  }
+
188 
+
189  int available() override {
+
190  return DEFAULT_BUFFER_SIZE; // reader.availableForWrite();
+
191  }
+
192 
+
193  int availableForWrite() override {
+
194  return DEFAULT_BUFFER_SIZE; // reader.availableForWrite();
+
195  }
+
196 
+
197  virtual float getByteFactor() = 0;
+
198 
+
199  void end() override {
+
200  TRACED();
+
201  AudioStream::end();
+
202  reader.end();
+
203  }
+
204 
+
206  TransformationReader<ReformatBaseStream> &getReader() {return reader;}
+
207 
+
208  protected:
+
209  TransformationReader<ReformatBaseStream> reader;
+
210  Stream *p_stream = nullptr;
+
211  Print *p_print = nullptr;
212 
213  void setupReader() {
214  if (getStream() != nullptr) {
-
215  reader.begin(this, getStream());
+
215  reader.begin(this, getStream());
216  }
217  }
218 };
@@ -800,9 +797,10 @@
MultiOutput()=default
Defines a MultiOutput with no final output: Define your outputs with add()
Definition: NoArduino.h:58
virtual bool begin()
Activates the output.
Definition: BaseStream.h:318
-
Base class for chained converting streams.
Definition: AudioIO.h:142
-
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:144
-
virtual void setOutput(Print &print) override
Defines/Changes the output target.
Definition: AudioIO.h:164
+
Base class for chained converting streams.
Definition: AudioIO.h:153
+
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:155
+
TransformationReader< ReformatBaseStream > & getReader()
Provides access to the TransformationReader.
Definition: AudioIO.h:206
+
virtual void setOutput(Print &print) override
Defines/Changes the output target.
Definition: AudioIO.h:175
virtual size_t size()
Returns the maximum capacity of the buffer.
Definition: Buffers.h:383
Definition: NoArduino.h:125
@@ -823,8 +821,10 @@
int bytesPerSecond()
Calculates the bytes per second from the AudioInfo.
Definition: AudioIO.h:545
ConverterStream Helper class which implements the readBytes with the help of write.
Definition: AudioIO.h:23
void begin(T *transform, Stream *source)
setup of the TransformationReader class
Definition: AudioIO.h:29
-
void restoreOutput(Print *out)
restores the original output in the converter class
Definition: AudioIO.h:131
-
Print * setupOutput()
Definition: AudioIO.h:123
+
void resizeReadBuffer(int size)
Defines the read buffer size for individual reads.
Definition: AudioIO.h:45
+
void restoreOutput(Print *out)
restores the original output in the converter class
Definition: AudioIO.h:142
+
Print * setupOutput()
Definition: AudioIO.h:134
+
void resizeResultQueue(int size)
Defines the queue size for result.
Definition: AudioIO.h:50
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition: AudioConfig.h:868
Basic Audio information which drives e.g. I2S.
Definition: AudioTypes.h:52
diff --git a/_audio_streams_converter_8h_source.html b/_audio_streams_converter_8h_source.html index 891b0a4ff4..ed3ed5ce81 100644 --- a/_audio_streams_converter_8h_source.html +++ b/_audio_streams_converter_8h_source.html @@ -882,8 +882,8 @@
void setGain(float value)
Defines the gain (only available when buffered is true)
Definition: AudioStreamsConverter.h:429
AudioInfo audioInfoOut() override
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transfo...
Definition: AudioStreamsConverter.h:348
Definition: NoArduino.h:58
-
Base class for chained converting streams.
Definition: AudioIO.h:142
-
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:144
+
Base class for chained converting streams.
Definition: AudioIO.h:153
+
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:155
T * address() override
Provides address to beginning of the buffer.
Definition: Buffers.h:249
T * data()
Provides address of actual data.
Definition: Buffers.h:252
void reset() override
clears the buffer
Definition: Buffers.h:254
diff --git a/_resample_stream_8h_source.html b/_resample_stream_8h_source.html index 1d00630a2c..61d5eaafe9 100644 --- a/_resample_stream_8h_source.html +++ b/_resample_stream_8h_source.html @@ -375,8 +375,8 @@
virtual AudioInfo audioInfo() override
provides the actual input AudioInfo
Definition: BaseStream.h:140
virtual int writeArray(const T data[], int len)
Fills the buffer data.
Definition: Buffers.h:65
Definition: NoArduino.h:58
-
Base class for chained converting streams.
Definition: AudioIO.h:142
-
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:144
+
Base class for chained converting streams.
Definition: AudioIO.h:153
+
virtual void setStream(Stream &stream) override
Defines/Changes the input & output.
Definition: AudioIO.h:155
Dynamic Resampling. We can use a variable factor to speed up or slow down the playback.
Definition: ResampleStream.h:33
size_t write(Print *p_out, const uint8_t *buffer, size_t bytes, size_t &written)
Writes the buffer to defined output after resampling.
Definition: ResampleStream.h:221
void setAudioInfo(AudioInfo newInfo) override
Defines the input AudioInfo.
Definition: ResampleStream.h:123
diff --git a/classaudio__tools_1_1_channel_format_converter_stream-members.html b/classaudio__tools_1_1_channel_format_converter_stream-members.html index cc22d4f93b..4067f5d146 100644 --- a/classaudio__tools_1_1_channel_format_converter_stream-members.html +++ b/classaudio__tools_1_1_channel_format_converter_stream-members.html @@ -98,41 +98,42 @@ getByteFactor() (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlinevirtual getConverter() (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlineprotected getPrint() (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual - getStream() (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual - info (defined in AudioStream)AudioStreamprotected - is_notify_active (defined in AudioInfoSource)AudioInfoSourceprotected - isNotifyActive()AudioInfoSourceinline - not_supported(int out, const char *msg="") (defined in AudioStream)AudioStreaminlineprotectedvirtual - notify_vector (defined in AudioInfoSource)AudioInfoSourceprotected - notifyAudioChange(AudioInfo info) (defined in AudioInfoSource)AudioInfoSourceinlineprotected - operator bool() (defined in AudioStream)AudioStreaminlinevirtual - operator=(ChannelFormatConverterStream const &)=delete (defined in ChannelFormatConverterStream)ChannelFormatConverterStream - operator=(AudioStream const &)=delete (defined in AudioStream)AudioStream - operator=(BaseStream const &)=delete (defined in BaseStream)BaseStream - p_print (defined in ReformatBaseStream)ReformatBaseStreamprotected - p_stream (defined in ReformatBaseStream)ReformatBaseStreamprotected - readBytes(uint8_t *data, size_t len) override (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlinevirtual - reader (defined in ReformatBaseStream)ReformatBaseStreamprotected - readSilence(uint8_t *buffer, size_t length)AudioStreaminlinevirtual - refillReadBuffer() (defined in BaseStream)BaseStreaminlineprotected - removeNotifyAudioChange(AudioInfoSupport &bi)AudioInfoSourceinlinevirtual - setAudioInfo(AudioInfo cfg) overrideChannelFormatConverterStreaminlinevirtual - setNotifyActive(bool flag)AudioInfoSourceinline - setOutput(AudioOutput &print) (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual - setOutput(Print &print) overrideReformatBaseStreaminlinevirtual - setStream(Stream &stream) overrideReformatBaseStreaminlinevirtual - setStream(AudioStream &stream) (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual - setToChannels(uint16_t channels) (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminline - setupConverter(int fromChannels, int toChannels) (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlineprotected - setupReader() (defined in ReformatBaseStream)ReformatBaseStreaminlineprotected - tmp_in (defined in BaseStream)BaseStreamprotected - tmp_out (defined in BaseStream)BaseStreamprotected - to_channels (defined in ChannelFormatConverterStream)ChannelFormatConverterStreamprotected - write(const uint8_t *data, size_t len) override (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlinevirtual - write(uint8_t ch) override (defined in BaseStream)BaseStreaminlinevirtual - writeSilence(size_t len)AudioStreaminlinevirtual - ~AudioStream()=default (defined in AudioStream)AudioStreamvirtual - ~BaseStream()=default (defined in BaseStream)BaseStreamvirtual + getReader()ReformatBaseStreaminline + getStream() (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual + info (defined in AudioStream)AudioStreamprotected + is_notify_active (defined in AudioInfoSource)AudioInfoSourceprotected + isNotifyActive()AudioInfoSourceinline + not_supported(int out, const char *msg="") (defined in AudioStream)AudioStreaminlineprotectedvirtual + notify_vector (defined in AudioInfoSource)AudioInfoSourceprotected + notifyAudioChange(AudioInfo info) (defined in AudioInfoSource)AudioInfoSourceinlineprotected + operator bool() (defined in AudioStream)AudioStreaminlinevirtual + operator=(ChannelFormatConverterStream const &)=delete (defined in ChannelFormatConverterStream)ChannelFormatConverterStream + operator=(AudioStream const &)=delete (defined in AudioStream)AudioStream + operator=(BaseStream const &)=delete (defined in BaseStream)BaseStream + p_print (defined in ReformatBaseStream)ReformatBaseStreamprotected + p_stream (defined in ReformatBaseStream)ReformatBaseStreamprotected + readBytes(uint8_t *data, size_t len) override (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlinevirtual + reader (defined in ReformatBaseStream)ReformatBaseStreamprotected + readSilence(uint8_t *buffer, size_t length)AudioStreaminlinevirtual + refillReadBuffer() (defined in BaseStream)BaseStreaminlineprotected + removeNotifyAudioChange(AudioInfoSupport &bi)AudioInfoSourceinlinevirtual + setAudioInfo(AudioInfo cfg) overrideChannelFormatConverterStreaminlinevirtual + setNotifyActive(bool flag)AudioInfoSourceinline + setOutput(AudioOutput &print) (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual + setOutput(Print &print) overrideReformatBaseStreaminlinevirtual + setStream(Stream &stream) overrideReformatBaseStreaminlinevirtual + setStream(AudioStream &stream) (defined in ReformatBaseStream)ReformatBaseStreaminlinevirtual + setToChannels(uint16_t channels) (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminline + setupConverter(int fromChannels, int toChannels) (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlineprotected + setupReader() (defined in ReformatBaseStream)ReformatBaseStreaminlineprotected + tmp_in (defined in BaseStream)BaseStreamprotected + tmp_out (defined in BaseStream)BaseStreamprotected + to_channels (defined in ChannelFormatConverterStream)ChannelFormatConverterStreamprotected + write(const uint8_t *data, size_t len) override (defined in ChannelFormatConverterStream)ChannelFormatConverterStreaminlinevirtual + write(uint8_t ch) override (defined in BaseStream)BaseStreaminlinevirtual + writeSilence(size_t len)AudioStreaminlinevirtual + ~AudioStream()=default (defined in AudioStream)AudioStreamvirtual + ~BaseStream()=default (defined in BaseStream)BaseStreamvirtual