8#define OGG_READ_SIZE (1024)
9#define OGG_DEFAULT_BUFFER_SIZE (OGG_READ_SIZE)
67 p_oggz = oggz_new(OGGZ_READ | OGGZ_AUTO);
71 LOGE(
"oggz_io_set_read");
76 LOGE(
"oggz_set_read_callback");
81 LOGE(
"oggz_set_read_page");
103 virtual size_t write(
const uint8_t *data,
size_t len)
override {
104 LOGD(
"write: %d", (
int)len);
113 if (size_consumed < len) {
115 len - size_consumed);
118 return size_consumed;
121 virtual operator bool()
override {
return is_open; }
133 static size_t ogg_io_read(
void *user_handle,
void *buf,
size_t n) {
134 LOGD(
"ogg_io_read: %d", (
int)n);
149 static int read_packet(OGGZ *oggz, oggz_packet *zp,
long serialno,
151 LOGD(
"read_packet: %d", (
int)zp->op.bytes);
153 ogg_packet *op = &zp->op;
154 int result = op->bytes;
157 }
else if (op->e_o_s) {
160 if (memcmp(op->packet,
"OpusTags", 8) == 0) {
163 LOGD(
"process audio packet");
164 int eff = self->
out.
write(op->packet, op->bytes);
166 LOGE(
"Incomplere write");
174 static int read_page(OGGZ *oggz,
const ogg_page *og,
long serialno,
176 LOGD(
"read_page: %d", (
int)og->body_len);
190 LOGE(
"Invalid AudioInfo")
193 LOGE(
"Invalid Header")
224 p_oggz = oggz_new(OGGZ_WRITE | OGGZ_NONSTRICT | OGGZ_AUTO);
250 virtual size_t write(
const uint8_t *data,
size_t len)
override {
251 if (data ==
nullptr)
return 0;
252 LOGD(
"OggContainerOutput::write: %d", (
int)len);
256 op.packet = (uint8_t *)data;
271 while ((oggz_write(
p_oggz, len)) > 0)
290 LOGD(
"writePacket: %d", (
int)
op.bytes);
292 if (result < 0 && result != OGGZ_ERR_OUT_OF_MEMORY) {
293 LOGE(
"oggz_write_feed: %d", (
int)result);
301 oh.packet = (uint8_t *)&
cfg;
313 op.packet = (uint8_t *)
nullptr;
325 LOGD(
"ogg_io_write: %d", (
int)n);
327 if (self ==
nullptr) {
328 LOGE(
"self is null");
332 writeData<uint8_t>(self->
p_out, (uint8_t *)buf, n);
381 if (
p_codec==
nullptr)
return false;
394 virtual size_t write(
const uint8_t *data,
size_t len)
override {
396 LOGD(
"OggContainerEncoder::write: %d", (
int)len);
399 result =
p_ogg->
write((
const uint8_t *)data, len);
#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 OGG_DEFAULT_BUFFER_SIZE
Definition ContainerOgg.h:9
#define OGG_READ_SIZE
Definition ContainerOgg.h:8
#define assert(T)
Definition avr.h:10