8#define OGG_READ_SIZE (1024)
9#define OGG_DEFAULT_BUFFER_SIZE (OGG_READ_SIZE)
70 p_oggz = oggz_new(OGGZ_READ | OGGZ_AUTO);
74 LOGE(
"oggz_io_set_read");
79 LOGE(
"oggz_set_read_callback");
84 LOGE(
"oggz_set_read_page");
101 LOGD(
"oggz_read...");
106 virtual size_t write(
const uint8_t *data,
size_t len)
override {
107 LOGD(
"write: %d", (
int)len);
116 if (size_consumed < len) {
118 len - size_consumed);
121 return size_consumed;
124 virtual operator bool()
override {
return is_open; }
136 static size_t ogg_io_read(
void *user_handle,
void *buf,
size_t n) {
137 LOGD(
"ogg_io_read: %d", (
int)n);
152 static int read_packet(OGGZ *oggz, oggz_packet *zp,
long serialno,
154 LOGD(
"read_packet: %d", (
int)zp->op.bytes);
156 ogg_packet *op = &zp->op;
157 int result = op->bytes;
160 }
else if (op->e_o_s) {
163 if (memcmp(op->packet,
"OpusTags", 8) == 0) {
166 LOGD(
"process audio packet");
167 int eff = self->
out.
write(op->packet, op->bytes);
169 LOGE(
"Incomplere write");
177 static int read_page(OGGZ *oggz,
const ogg_page *og,
long serialno,
179 LOGD(
"read_page: %d", (
int)og->body_len);
193 LOGE(
"Invalid AudioInfo")
196 LOGE(
"Invalid Header")
227 p_oggz = oggz_new(OGGZ_WRITE | OGGZ_NONSTRICT | OGGZ_AUTO);
253 virtual size_t write(
const uint8_t *data,
size_t len)
override {
254 if (data ==
nullptr)
return 0;
255 LOGD(
"OggContainerOutput::write: %d", (
int)len);
259 op.packet = (uint8_t *)data;
274 while ((oggz_write(
p_oggz, len)) > 0)
293 LOGD(
"writePacket: %d", (
int)
op.bytes);
295 if (result < 0 && result != OGGZ_ERR_OUT_OF_MEMORY) {
296 LOGE(
"oggz_write_feed: %d", (
int)result);
304 oh.packet = (uint8_t *)&
cfg;
316 op.packet = (uint8_t *)
nullptr;
328 LOGD(
"ogg_io_write: %d", (
int)n);
330 if (self ==
nullptr) {
331 LOGE(
"self is null");
335 writeData<uint8_t>(self->
p_out, (uint8_t *)buf, n);
384 if (
p_codec==
nullptr)
return false;
397 virtual size_t write(
const uint8_t *data,
size_t len)
override {
399 LOGD(
"OggContainerEncoder::write: %d", (
int)len);
402 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