28 const char *
mime()
override {
return "audio/adpcm"; }
89 virtual size_t write(
const uint8_t *data,
size_t len)
override {
92 uint8_t *input_buffer8 = (uint8_t *)data;
93 LOGD(
"write: %d", (
int)len);
94 for (
int j = 0; j < len; j++) {
112 case AV_CODEC_ID_ADPCM_MS:
114 case AV_CODEC_ID_ADPCM_IMA_WAV:
116 case AV_CODEC_ID_ADPCM_YAMAHA:
138 adpcm_ffmpeg::AVFrame &frame =
141 int16_t *data = (int16_t *)frame.data[0];
142 size_t byte_count = frame.nb_samples *
sizeof(int16_t) *
info.
channels;
143 size_t written =
p_print->
write((uint8_t *)data, byte_count);
144 if (written != byte_count) {
167 if (
codec_id == AV_CODEC_ID_ADPCM_IMA_AMV) {
177 LOGE(
"Decoder not implemented");
260 const char *
mime()
override {
return "audio/adpcm"; }
266 size_t write(
const uint8_t *data,
size_t len)
override {
267 LOGD(
"write: %d", (
int)len);
268 int16_t *data16 = (int16_t *)data;
269 for (
int j = 0; j < len / 2; j++) {
308 adpcm_ffmpeg::AVPacket &packet =
310 if (packet.size > 0) {
311 size_t written =
p_print->
write(packet.data, packet.size);
312 if (written != packet.size) {
336 if (
codec_id == AV_CODEC_ID_ADPCM_IMA_AMV) {
346 LOGE(
"Encoder not implemented");
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define assert(T)
Definition avr.h:10
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120
AudioFormat
Audio format codes used by Microsoft e.g. in avi or wav files.
Definition AudioFormat.h:21