20 const char *
mime()
override {
return "audio/ac3"; }
38 size_t write(
const uint8_t *data,
size_t len)
override {
40 return ac3.write(data, len);
50 ac3.setOutputChannels(n);
58 static void pcmCallback(
const int16_t *pcm,
int frameCount,
int channels,
59 int sampleRate,
void *ref) {
61 self->onPcm(pcm, frameCount, channels, sampleRate);
64 void onPcm(
const int16_t *pcm,
int frameCount,
int channels,
66 if (
info.channels != channels ||
info.sample_rate != sampleRate) {
67 info.channels = channels;
68 info.sample_rate = sampleRate;
69 info.bits_per_sample = 16;
74 frameCount * channels *
sizeof(int16_t));