};
static
-int write_sample(FILE *ofp, m4af_writer_t *m4af,
+int write_sample(FILE *ofp, m4af_ctx_t *m4af,
const void *data, uint32_t size, uint32_t duration)
{
if (!m4af) {
static
int encode(wav_reader_t *wavf, HANDLE_AACENCODER encoder,
- uint32_t frame_length, FILE *ofp, m4af_writer_t *m4af,
+ uint32_t frame_length, FILE *ofp, m4af_ctx_t *m4af,
int show_progress)
{
uint8_t *ibuf = 0;
}
static
-void put_tag_entry(m4af_writer_t *m4af, const aacenc_tag_entry_t *tag)
+void put_tag_entry(m4af_ctx_t *m4af, const aacenc_tag_entry_t *tag)
{
unsigned m, n = 0;
const char *data = tag->data;
}
static
-void put_tool_tag(m4af_writer_t *m4af, const aacenc_param_ex_t *params,
+void put_tool_tag(m4af_ctx_t *m4af, const aacenc_param_ex_t *params,
HANDLE_AACENCODER encoder)
{
char tool_info[256];
}
static
-int finalize_m4a(m4af_writer_t *m4af, const aacenc_param_ex_t *params,
+int finalize_m4a(m4af_ctx_t *m4af, const aacenc_param_ex_t *params,
HANDLE_AACENCODER encoder)
{
unsigned i;
int main(int argc, char **argv)
{
wav_io_context_t wav_io = { read_callback, seek_callback, tell_callback };
- m4af_io_callbacks_t m4af_io = {
- write_callback, seek_callback, tell_callback };
+ m4af_io_callbacks_t
+ m4af_io = { 0, write_callback, seek_callback, tell_callback };
aacenc_param_ex_t params = { 0 };
int result = 2;
wav_reader_t *wavf = 0;
HANDLE_AACENCODER encoder = 0;
AACENC_InfoStruct aacinfo = { 0 };
- m4af_writer_t *m4af = 0;
+ m4af_ctx_t *m4af = 0;
const pcm_sample_description_t *sample_format;
int downsampled_timescale = 0;
int frame_count = 0;
scale = sample_format->sample_rate >> downsampled_timescale;
if ((m4af = m4af_create(M4AF_CODEC_MP4A, scale, &m4af_io, ofp)) < 0)
goto END;
- m4af_decoder_specific_info(m4af, 0, aacinfo.confBuf, aacinfo.confSize);
+ m4af_set_decoder_specific_info(m4af, 0, aacinfo.confBuf,
+ aacinfo.confSize);
m4af_set_fixed_frame_duration(m4af, 0,
framelen >> downsampled_timescale);
m4af_begin_write(m4af);