diff --git a/_audio_server_8h_source.html b/_audio_server_8h_source.html index 5a8cf0c5d3..42e21ccb60 100644 --- a/_audio_server_8h_source.html +++ b/_audio_server_8h_source.html @@ -170,247 +170,251 @@
147 
149  bool isClientConnected() { return client_obj.connected(); }
150 
-
151  protected:
-
152  // WIFI
-
153 #ifdef ESP32
-
154  WiFiServer server;
-
155 #else
-
156  WiFiServer server{80};
-
157 #endif
-
158  WiFiClient client_obj;
-
159  char *password = nullptr;
-
160  char *network = nullptr;
-
161 
-
162  // Content
-
163  const char *content_type = nullptr;
-
164  AudioServerDataCallback callback = nullptr;
-
165  Stream *in = nullptr;
-
166  StreamCopy copier;
-
167  BaseConverter *converter_ptr = nullptr;
-
168 
-
169  void setupServer(int port) {
-
170  WiFiServer tmp(port);
-
171  server = tmp;
-
172  }
+
152  void setCopyBufferSize(int size){
+
153  copier.resize(size);
+
154  }
+
155 
+
156  protected:
+
157  // WIFI
+
158 #ifdef ESP32
+
159  WiFiServer server;
+
160 #else
+
161  WiFiServer server{80};
+
162 #endif
+
163  WiFiClient client_obj;
+
164  char *password = nullptr;
+
165  char *network = nullptr;
+
166 
+
167  // Content
+
168  const char *content_type = nullptr;
+
169  AudioServerDataCallback callback = nullptr;
+
170  Stream *in = nullptr;
+
171  StreamCopy copier;
+
172  BaseConverter *converter_ptr = nullptr;
173 
-
174  void connectWiFi() {
-
175  TRACED();
-
176  if (WiFi.status() != WL_CONNECTED && network != nullptr &&
-
177  password != nullptr) {
-
178  WiFi.begin(network, password);
-
179  while (WiFi.status() != WL_CONNECTED) {
-
180  Serial.print(".");
-
181  delay(500);
-
182  }
-
183 #ifdef ESP32
-
184  WiFi.setSleep(false);
-
185 #endif
-
186  Serial.println();
-
187  }
-
188  Serial.print("IP address: ");
-
189  Serial.println(WiFi.localIP());
-
190  }
-
191 
-
192  virtual void sendReplyHeader() {
-
193  TRACED();
-
194  // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
-
195  // and a content-type so the client knows what's coming, then a blank line:
-
196  client_obj.println("HTTP/1.1 200 OK");
-
197  if (content_type != nullptr) {
-
198  client_obj.print("Content-type:");
-
199  client_obj.println(content_type);
-
200  }
-
201  client_obj.println();
-
202  }
-
203 
-
204  virtual void sendReplyContent() {
-
205  TRACED();
-
206  if (callback != nullptr) {
-
207  // provide data via Callback
-
208  LOGI("sendReply - calling callback");
-
209  callback(&client_obj);
-
210  client_obj.stop();
-
211  } else if (in != nullptr) {
-
212  // provide data for stream
-
213  LOGI("sendReply - Returning audio stream...");
-
214  copier.begin(client_obj, *in);
-
215  }
-
216  }
-
217 
-
218  // Handle an new client connection and return the data
-
219  void processClient() {
-
220  // LOGD("processClient");
-
221  if (client_obj) { // if you get a client,
-
222  LOGI("New Client."); // print a message out the serial port
-
223  String currentLine =
-
224  ""; // make a String to hold incoming data from the client
-
225  while (client_obj.connected()) { // loop while the client's connected
-
226  if (client_obj
-
227  .available()) { // if there's bytes to read from the client,
-
228  char c = client_obj.read(); // read a byte, then
-
229  if (c == '\n') { // if the byte is a newline character
-
230 
-
231  // if the current line is blank, you got two newline characters in a
-
232  // row. that's the end of the client HTTP request, so send a
-
233  // response:
-
234  if (currentLine.length() == 0) {
-
235  sendReplyHeader();
-
236  sendReplyContent();
-
237  // break out of the while loop:
-
238  break;
-
239  } else { // if you got a newline, then clear currentLine:
-
240  currentLine = "";
-
241  }
-
242  } else if (c != '\r') { // if you got anything else but a carriage
-
243  // return character,
-
244  currentLine += c; // add it to the end of the currentLine
-
245  }
-
246  }
-
247  }
-
248  }
-
249  }
-
250 };
-
251 
-
261 class AudioEncoderServer : public AudioServer {
-
262  public:
-
267  AudioEncoderServer(AudioEncoder *encoder, int port = 80) : AudioServer(port) {
-
268  this->encoder = encoder;
-
269  }
-
270 
-
277  AudioEncoderServer(AudioEncoder *encoder, const char *network,
-
278  const char *password, int port = 80)
-
279  : AudioServer(network, password, port) {
-
280  this->encoder = encoder;
-
281  }
-
282 
-
286  ~AudioEncoderServer() {}
+
174  void setupServer(int port) {
+
175  WiFiServer tmp(port);
+
176  server = tmp;
+
177  }
+
178 
+
179  void connectWiFi() {
+
180  TRACED();
+
181  if (WiFi.status() != WL_CONNECTED && network != nullptr &&
+
182  password != nullptr) {
+
183  WiFi.begin(network, password);
+
184  while (WiFi.status() != WL_CONNECTED) {
+
185  Serial.print(".");
+
186  delay(500);
+
187  }
+
188 #ifdef ESP32
+
189  WiFi.setSleep(false);
+
190 #endif
+
191  Serial.println();
+
192  }
+
193  Serial.print("IP address: ");
+
194  Serial.println(WiFi.localIP());
+
195  }
+
196 
+
197  virtual void sendReplyHeader() {
+
198  TRACED();
+
199  // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
+
200  // and a content-type so the client knows what's coming, then a blank line:
+
201  client_obj.println("HTTP/1.1 200 OK");
+
202  if (content_type != nullptr) {
+
203  client_obj.print("Content-type:");
+
204  client_obj.println(content_type);
+
205  }
+
206  client_obj.println();
+
207  }
+
208 
+
209  virtual void sendReplyContent() {
+
210  TRACED();
+
211  if (callback != nullptr) {
+
212  // provide data via Callback
+
213  LOGI("sendReply - calling callback");
+
214  callback(&client_obj);
+
215  client_obj.stop();
+
216  } else if (in != nullptr) {
+
217  // provide data for stream
+
218  LOGI("sendReply - Returning audio stream...");
+
219  copier.begin(client_obj, *in);
+
220  }
+
221  }
+
222 
+
223  // Handle an new client connection and return the data
+
224  void processClient() {
+
225  // LOGD("processClient");
+
226  if (client_obj) { // if you get a client,
+
227  LOGI("New Client."); // print a message out the serial port
+
228  String currentLine =
+
229  ""; // make a String to hold incoming data from the client
+
230  while (client_obj.connected()) { // loop while the client's connected
+
231  if (client_obj
+
232  .available()) { // if there's bytes to read from the client,
+
233  char c = client_obj.read(); // read a byte, then
+
234  if (c == '\n') { // if the byte is a newline character
+
235 
+
236  // if the current line is blank, you got two newline characters in a
+
237  // row. that's the end of the client HTTP request, so send a
+
238  // response:
+
239  if (currentLine.length() == 0) {
+
240  sendReplyHeader();
+
241  sendReplyContent();
+
242  // break out of the while loop:
+
243  break;
+
244  } else { // if you got a newline, then clear currentLine:
+
245  currentLine = "";
+
246  }
+
247  } else if (c != '\r') { // if you got anything else but a carriage
+
248  // return character,
+
249  currentLine += c; // add it to the end of the currentLine
+
250  }
+
251  }
+
252  }
+
253  }
+
254  }
+
255 };
+
256 
+
266 class AudioEncoderServer : public AudioServer {
+
267  public:
+
272  AudioEncoderServer(AudioEncoder *encoder, int port = 80) : AudioServer(port) {
+
273  this->encoder = encoder;
+
274  }
+
275 
+
282  AudioEncoderServer(AudioEncoder *encoder, const char *network,
+
283  const char *password, int port = 80)
+
284  : AudioServer(network, password, port) {
+
285  this->encoder = encoder;
+
286  }
287 
-
296  bool begin(Stream &in, int sample_rate, int channels,
-
297  int bits_per_sample = 16, BaseConverter *converter = nullptr) {
-
298  TRACED();
-
299  this->in = ∈
-
300  setConverter(converter);
-
301  audio_info.sample_rate = sample_rate;
-
302  audio_info.channels = channels;
-
303  audio_info.bits_per_sample = bits_per_sample;
-
304  encoder->setAudioInfo(audio_info);
-
305  // encoded_stream.begin(&client_obj, encoder);
-
306  encoded_stream.setInput(&client_obj);
-
307  encoded_stream.setEncoder(encoder);
-
308  encoded_stream.begin(audio_info);
-
309  return AudioServer::begin(in, encoder->mime());
-
310  }
-
311 
-
320  bool begin(Stream &in, AudioInfo info, BaseConverter *converter = nullptr) {
-
321  TRACED();
-
322  this->in = ∈
-
323  this->audio_info = info;
-
324  setConverter(converter);
-
325  encoder->setAudioInfo(audio_info);
-
326  encoded_stream.setInput(&client_obj);
-
327  encoded_stream.setEncoder(encoder);
-
328  encoded_stream.begin(audio_info);
-
329 
-
330  return AudioServer::begin(in, encoder->mime());
-
331  }
-
332 
-
340  bool begin(AudioStream &in, BaseConverter *converter = nullptr) {
-
341  TRACED();
-
342  this->in = ∈
-
343  this->audio_info = in.audioInfo();
-
344  setConverter(converter);
-
345  encoder->setAudioInfo(audio_info);
-
346  encoded_stream.setInput(&client_obj);
-
347  encoded_stream.setEncoder(encoder);
-
348  encoded_stream.begin(audio_info);
-
349 
-
350  return AudioServer::begin(in, encoder->mime());
-
351  }
-
352 
-
360  bool begin(AudioServerDataCallback cb, int sample_rate, int channels,
-
361  int bits_per_sample = 16) {
-
362  TRACED();
-
363  audio_info.sample_rate = sample_rate;
-
364  audio_info.channels = channels;
-
365  audio_info.bits_per_sample = bits_per_sample;
-
366  encoder->setAudioInfo(audio_info);
-
367 
-
368  return AudioServer::begin(cb, encoder->mime());
-
369  }
-
370 
-
371  // provides a pointer to the encoder
-
372  AudioEncoder *audioEncoder() { return encoder; }
-
373 
-
374  protected:
-
375  // Sound Generation
-
376  EncodedAudioStream encoded_stream;
-
377  AudioInfo audio_info;
-
378  AudioEncoder *encoder = nullptr;
-
379 
-
380  virtual void sendReplyContent() {
-
381  TRACED();
-
382  // restart encoder
-
383  if (encoder) {
-
384  encoder->end();
-
385  encoder->begin();
-
386  }
-
387 
-
388  if (callback != nullptr) {
-
389  // encoded_stream.begin(out_ptr(), encoder);
-
390  encoded_stream.setOutput(out_ptr());
-
391  encoded_stream.setEncoder(encoder);
-
392  encoded_stream.begin();
-
393 
-
394  // provide data via Callback to encoded_stream
-
395  LOGI("sendReply - calling callback");
-
396  callback(&encoded_stream);
-
397  client_obj.stop();
-
398  } else if (in != nullptr) {
-
399  // provide data for stream: in -copy> encoded_stream -> out
-
400  LOGI("sendReply - Returning encoded stream...");
-
401  // encoded_stream.begin(out_ptr(), encoder);
-
402  encoded_stream.setOutput(out_ptr());
-
403  encoded_stream.setEncoder(encoder);
-
404  encoded_stream.begin();
-
405 
-
406  copier.begin(encoded_stream, *in);
-
407  }
-
408  }
-
409 };
+
291  ~AudioEncoderServer() {}
+
292 
+
301  bool begin(Stream &in, int sample_rate, int channels,
+
302  int bits_per_sample = 16, BaseConverter *converter = nullptr) {
+
303  TRACED();
+
304  this->in = ∈
+
305  setConverter(converter);
+
306  audio_info.sample_rate = sample_rate;
+
307  audio_info.channels = channels;
+
308  audio_info.bits_per_sample = bits_per_sample;
+
309  encoder->setAudioInfo(audio_info);
+
310  // encoded_stream.begin(&client_obj, encoder);
+
311  encoded_stream.setInput(&client_obj);
+
312  encoded_stream.setEncoder(encoder);
+
313  encoded_stream.begin(audio_info);
+
314  return AudioServer::begin(in, encoder->mime());
+
315  }
+
316 
+
325  bool begin(Stream &in, AudioInfo info, BaseConverter *converter = nullptr) {
+
326  TRACED();
+
327  this->in = ∈
+
328  this->audio_info = info;
+
329  setConverter(converter);
+
330  encoder->setAudioInfo(audio_info);
+
331  encoded_stream.setInput(&client_obj);
+
332  encoded_stream.setEncoder(encoder);
+
333  encoded_stream.begin(audio_info);
+
334 
+
335  return AudioServer::begin(in, encoder->mime());
+
336  }
+
337 
+
345  bool begin(AudioStream &in, BaseConverter *converter = nullptr) {
+
346  TRACED();
+
347  this->in = ∈
+
348  this->audio_info = in.audioInfo();
+
349  setConverter(converter);
+
350  encoder->setAudioInfo(audio_info);
+
351  encoded_stream.setInput(&client_obj);
+
352  encoded_stream.setEncoder(encoder);
+
353  encoded_stream.begin(audio_info);
+
354 
+
355  return AudioServer::begin(in, encoder->mime());
+
356  }
+
357 
+
365  bool begin(AudioServerDataCallback cb, int sample_rate, int channels,
+
366  int bits_per_sample = 16) {
+
367  TRACED();
+
368  audio_info.sample_rate = sample_rate;
+
369  audio_info.channels = channels;
+
370  audio_info.bits_per_sample = bits_per_sample;
+
371  encoder->setAudioInfo(audio_info);
+
372 
+
373  return AudioServer::begin(cb, encoder->mime());
+
374  }
+
375 
+
376  // provides a pointer to the encoder
+
377  AudioEncoder *audioEncoder() { return encoder; }
+
378 
+
379  protected:
+
380  // Sound Generation
+
381  EncodedAudioStream encoded_stream;
+
382  AudioInfo audio_info;
+
383  AudioEncoder *encoder = nullptr;
+
384 
+
385  virtual void sendReplyContent() {
+
386  TRACED();
+
387  // restart encoder
+
388  if (encoder) {
+
389  encoder->end();
+
390  encoder->begin();
+
391  }
+
392 
+
393  if (callback != nullptr) {
+
394  // encoded_stream.begin(out_ptr(), encoder);
+
395  encoded_stream.setOutput(out_ptr());
+
396  encoded_stream.setEncoder(encoder);
+
397  encoded_stream.begin();
+
398 
+
399  // provide data via Callback to encoded_stream
+
400  LOGI("sendReply - calling callback");
+
401  callback(&encoded_stream);
+
402  client_obj.stop();
+
403  } else if (in != nullptr) {
+
404  // provide data for stream: in -copy> encoded_stream -> out
+
405  LOGI("sendReply - Returning encoded stream...");
+
406  // encoded_stream.begin(out_ptr(), encoder);
+
407  encoded_stream.setOutput(out_ptr());
+
408  encoded_stream.setEncoder(encoder);
+
409  encoded_stream.begin();
410 
-
419 class AudioWAVServer : public AudioEncoderServer {
-
420  public:
-
425  AudioWAVServer(int port = 80) : AudioEncoderServer(new WAVEncoder(), port) {}
-
426 
-
433  AudioWAVServer(const char *network, const char *password, int port = 80)
-
434  : AudioEncoderServer(new WAVEncoder(), network, password, port) {}
-
435 
-
437  ~AudioWAVServer() {
-
438  AudioEncoder *encoder = audioEncoder();
-
439  if (encoder != nullptr) {
-
440  delete encoder;
-
441  }
-
442  }
-
443 
-
444  // provides a pointer to the encoder
-
445  WAVEncoder &wavEncoder() { return *static_cast<WAVEncoder *>(encoder); }
-
446 };
-
447 
-
448 } // namespace audio_tools
-
449 
-
450 #endif
+
411  copier.begin(encoded_stream, *in);
+
412  }
+
413  }
+
414 };
+
415 
+
424 class AudioWAVServer : public AudioEncoderServer {
+
425  public:
+
430  AudioWAVServer(int port = 80) : AudioEncoderServer(new WAVEncoder(), port) {}
+
431 
+
438  AudioWAVServer(const char *network, const char *password, int port = 80)
+
439  : AudioEncoderServer(new WAVEncoder(), network, password, port) {}
+
440 
+
442  ~AudioWAVServer() {
+
443  AudioEncoder *encoder = audioEncoder();
+
444  if (encoder != nullptr) {
+
445  delete encoder;
+
446  }
+
447  }
+
448 
+
449  // provides a pointer to the encoder
+
450  WAVEncoder &wavEncoder() { return *static_cast<WAVEncoder *>(encoder); }
+
451 };
+
452 
+
453 } // namespace audio_tools
+
454 
+
455 #endif
AudioTools.h
audio_tools::AudioEncoder
Encoding of PCM data.
Definition: AudioEncoded.h:79
audio_tools::AudioEncoder::setAudioInfo
void setAudioInfo(AudioInfo from) override
Defines the sample rate, number of channels and bits per sample.
Definition: AudioEncoded.h:88
audio_tools::AudioEncoder::mime
virtual const char * mime()=0
Provides the mime type of the encoded result.
-
audio_tools::AudioEncoderServer
A simple Arduino Webserver which streams the audio using the indicated encoder.. This class is based ...
Definition: AudioServer.h:261
-
audio_tools::AudioEncoderServer::~AudioEncoderServer
~AudioEncoderServer()
Destructor release the memory.
Definition: AudioServer.h:286
-
audio_tools::AudioEncoderServer::AudioEncoderServer
AudioEncoderServer(AudioEncoder *encoder, const char *network, const char *password, int port=80)
Construct a new Audio W A V Server object.
Definition: AudioServer.h:277
-
audio_tools::AudioEncoderServer::begin
bool begin(Stream &in, AudioInfo info, BaseConverter *converter=nullptr)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:320
-
audio_tools::AudioEncoderServer::begin
bool begin(AudioServerDataCallback cb, int sample_rate, int channels, int bits_per_sample=16)
Start the server. The data must be provided by a callback method.
Definition: AudioServer.h:360
-
audio_tools::AudioEncoderServer::begin
bool begin(Stream &in, int sample_rate, int channels, int bits_per_sample=16, BaseConverter *converter=nullptr)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:296
-
audio_tools::AudioEncoderServer::begin
bool begin(AudioStream &in, BaseConverter *converter=nullptr)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:340
-
audio_tools::AudioEncoderServer::AudioEncoderServer
AudioEncoderServer(AudioEncoder *encoder, int port=80)
Construct a new Audio W A V Server object We assume that the WiFi is already connected.
Definition: AudioServer.h:267
+
audio_tools::AudioEncoderServer
A simple Arduino Webserver which streams the audio using the indicated encoder.. This class is based ...
Definition: AudioServer.h:266
+
audio_tools::AudioEncoderServer::~AudioEncoderServer
~AudioEncoderServer()
Destructor release the memory.
Definition: AudioServer.h:291
+
audio_tools::AudioEncoderServer::AudioEncoderServer
AudioEncoderServer(AudioEncoder *encoder, const char *network, const char *password, int port=80)
Construct a new Audio W A V Server object.
Definition: AudioServer.h:282
+
audio_tools::AudioEncoderServer::begin
bool begin(Stream &in, AudioInfo info, BaseConverter *converter=nullptr)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:325
+
audio_tools::AudioEncoderServer::begin
bool begin(AudioServerDataCallback cb, int sample_rate, int channels, int bits_per_sample=16)
Start the server. The data must be provided by a callback method.
Definition: AudioServer.h:365
+
audio_tools::AudioEncoderServer::begin
bool begin(Stream &in, int sample_rate, int channels, int bits_per_sample=16, BaseConverter *converter=nullptr)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:301
+
audio_tools::AudioEncoderServer::begin
bool begin(AudioStream &in, BaseConverter *converter=nullptr)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:345
+
audio_tools::AudioEncoderServer::AudioEncoderServer
AudioEncoderServer(AudioEncoder *encoder, int port=80)
Construct a new Audio W A V Server object We assume that the WiFi is already connected.
Definition: AudioServer.h:272
audio_tools::AudioServer
A simple Arduino Webserver which streams the result This class is based on the WiFiServer class....
Definition: AudioServer.h:26
audio_tools::AudioServer::out
Stream & out()
Provides the output stream.
Definition: AudioServer.h:143
audio_tools::AudioServer::setConverter
void setConverter(BaseConverter *c)
defines a converter that will be used when the audio is rendered
Definition: AudioServer.h:140
@@ -418,20 +422,22 @@
audio_tools::AudioServer::isClientConnected
bool isClientConnected()
Checks if any clinent has connnected.
Definition: AudioServer.h:149
audio_tools::AudioServer::begin
bool begin(AudioServerDataCallback cb, const char *contentType)
Start the server. The data must be provided by a callback method.
Definition: AudioServer.h:77
audio_tools::AudioServer::copy
bool copy()
Add this method to your loop Returns true while the client is connected. (The same functionality like...
Definition: AudioServer.h:98
+
audio_tools::AudioServer::setCopyBufferSize
void setCopyBufferSize(int size)
Changes the copy buffer size.
Definition: AudioServer.h:152
audio_tools::AudioServer::AudioServer
AudioServer(int port=80)
Construct a new Audio W A V Server object We assume that the WiFi is already connected.
Definition: AudioServer.h:32
audio_tools::AudioServer::doLoop
bool doLoop()
Add this method to your loop Returns true while the client is connected.
Definition: AudioServer.h:104
audio_tools::AudioServer::AudioServer
AudioServer(const char *network, const char *password, int port=80)
Construct a new Audio W A V Server object.
Definition: AudioServer.h:44
audio_tools::AudioServer::begin
bool begin(Stream &in, const char *contentType)
Start the server. You need to be connected to WiFI before calling this method.
Definition: AudioServer.h:59
audio_tools::AudioStream
Base class for all Audio Streams. It support the boolean operator to test if the object is ready with...
Definition: AudioStreams.h:40
-
audio_tools::AudioWAVServer
A simple Arduino Webserver which streams the audio as WAV data. This class is based on the AudioEncod...
Definition: AudioServer.h:419
-
audio_tools::AudioWAVServer::AudioWAVServer
AudioWAVServer(const char *network, const char *password, int port=80)
Construct a new Audio W A V Server object.
Definition: AudioServer.h:433
-
audio_tools::AudioWAVServer::~AudioWAVServer
~AudioWAVServer()
Destructor: release the allocated encoder.
Definition: AudioServer.h:437
-
audio_tools::AudioWAVServer::AudioWAVServer
AudioWAVServer(int port=80)
Construct a new Audio W A V Server object We assume that the WiFi is already connected.
Definition: AudioServer.h:425
+
audio_tools::AudioWAVServer
A simple Arduino Webserver which streams the audio as WAV data. This class is based on the AudioEncod...
Definition: AudioServer.h:424
+
audio_tools::AudioWAVServer::AudioWAVServer
AudioWAVServer(const char *network, const char *password, int port=80)
Construct a new Audio W A V Server object.
Definition: AudioServer.h:438
+
audio_tools::AudioWAVServer::~AudioWAVServer
~AudioWAVServer()
Destructor: release the allocated encoder.
Definition: AudioServer.h:442
+
audio_tools::AudioWAVServer::AudioWAVServer
AudioWAVServer(int port=80)
Construct a new Audio W A V Server object We assume that the WiFi is already connected.
Definition: AudioServer.h:430
audio_tools::BaseConverter
Abstract Base class for Converters A converter is processing the data in the indicated array.
Definition: BaseConverter.h:25
audio_tools::EncodedAudioOutput::begin
bool begin() override
Starts the processing - sets the status to active.
Definition: AudioEncoded.h:394
audio_tools::EncodedAudioStream::setInput
void setInput(Stream *ioStream)
Same as setStream()
Definition: AudioEncoded.h:532
audio_tools::Print
Definition: NoArduino.h:58
audio_tools::StreamCopy::copy
size_t copy(BaseConverter &converter)
copies a buffer length of data and applies the converter
Definition: StreamCopy.h:407
+
audio_tools::StreamCopyT::resize
void resize(int len)
resizes the copy buffer
Definition: StreamCopy.h:287
audio_tools::StreamCopyT::setCheckAvailableForWrite
void setCheckAvailableForWrite(bool flag)
Activates the check that we copy only if available for write returns a value.
Definition: StreamCopy.h:267
audio_tools::Stream
Definition: NoArduino.h:125
audio_tools::WAVEncoder
A simple WAV file encoder. If no AudioEncoderExt is specified the WAV file contains PCM data,...
Definition: CodecWAV.h:469
diff --git a/classaudio__tools_1_1_audio_encoder_server-members.html b/classaudio__tools_1_1_audio_encoder_server-members.html index bbfb16c3e6..0a70c65f16 100644 --- a/classaudio__tools_1_1_audio_encoder_server-members.html +++ b/classaudio__tools_1_1_audio_encoder_server-members.html @@ -105,8 +105,9 @@ sendReplyHeader() (defined in AudioServer)AudioServerinlineprotectedvirtual server (defined in AudioServer)AudioServerprotected setConverter(BaseConverter *c)AudioServerinline - setupServer(int port) (defined in AudioServer)AudioServerinlineprotected - ~AudioEncoderServer()AudioEncoderServerinline + setCopyBufferSize(int size)AudioServerinline + setupServer(int port) (defined in AudioServer)AudioServerinlineprotected + ~AudioEncoderServer()AudioEncoderServerinline