6#include "opus/opus_multistream.h"
8#ifndef OPUS_ENC_MAX_BUFFER_SIZE
9#define OPUS_ENC_MAX_BUFFER_SIZE 2048
12#ifndef OPUS_DEC_MAX_BUFFER_SIZE
13#define OPUS_DEC_MAX_BUFFER_SIZE 4 * 1024
170 "opus_multistream_decoder_create: %s for sample_rate: %d, "
171 "channels:%d, streams:%d, coupled:%d",
182 if (
dec !=
nullptr) {
208 LOGD(
"OpusMultiStreamAudioDecoder::write: %d", (
int)len);
225 processed += written;
246 if (
valid == rate)
return true;
275 const char*
mime()
override {
return "audio/opus"; }
278 LOGD(
"OpusMultiStreamAudioEncoder::setAudioInfo: sample_rate: %d, channels: %d",
285 if (
enc !=
nullptr) {
292 LOGD(
"OpusMultiStreamAudioEncoder::begin: sample_rate: %d, channels: %d",
312 "opus_multistream_encoder_create: %s for sample_rate: %d, "
313 "channels:%d, streams:%d, coupled:%d",
337 if (
enc !=
nullptr) {
346 LOGD(
"OpusMultiStreamAudioEncoder::write: %d", (
int)len);
347 for (
int j = 0;
j < len;
j++) {
358 if (
enc ==
nullptr)
return 0;
364 return samples > 0 ? samples : 0;
371 if (bytesPerSample <= 0)
return 0;
397 LOGD(
"opus_multistream_encode - frame_size: %d", frames);
402 }
else if (len > 0) {
403 LOGD(
"opus_multistream_encode: %d", len);
406 LOGE(
"encodeFrame data lost: %d->%d", len,
eff);
415 return sampling_rate / 400;
417 return sampling_rate / 200;
419 return sampling_rate / 100;
421 return sampling_rate / 50;
423 return sampling_rate / 25;
425 return 3 * sampling_rate / 50;
427 return 4 * sampling_rate / 50;
429 return 5 * sampling_rate / 50;
431 return 6 * sampling_rate / 50;
433 return sampling_rate / 100;
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define OPUS_DEC_MAX_BUFFER_SIZE
Definition CodecOpus.h:12
#define OPUS_ENC_MAX_BUFFER_SIZE
Definition CodecOpus.h:8
#define assert(T)
Definition avr.h:10
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120