static int write_sample(FILE *ofp, m4af_ctx_t *m4af, aacenc_frame_t *frame) { if (!m4af) { fwrite(frame->data, 1, frame->size, ofp); if (ferror(ofp)) { fprintf(stderr, "ERROR: fwrite(): %s\n", strerror(errno)); return -1; } } else if (m4af_write_sample(m4af, 0, frame->data, frame->size, 0) < 0) { fprintf(stderr, "ERROR: failed to write m4a sample\n"); return -1; } return 0; }
static int write_sample(FILE *ofp, m4af_ctx_t *m4af, const void *data, uint32_t size, uint32_t duration) { if (!m4af) { fwrite(data, 1, size, ofp); if (ferror(ofp)) { fprintf(stderr, "ERROR: fwrite(): %s\n", strerror(errno)); return -1; } } else if (m4af_write_sample(m4af, 0, data, size, duration) < 0) { fprintf(stderr, "ERROR: failed to write m4a sample\n"); return -1; } return 0; }