Imported Upstream version 0.6.3
[fdkaac.git] / src / m4af.h
index 91f4cf8955c3603258e40ab4618b691f8cbb30f2..3a04742a9e7055dd7d76025eeeac4aa7c020491f 100644 (file)
@@ -52,6 +52,12 @@ enum m4af_codec_type {
     M4AF_CODEC_TEXT = M4AF_FOURCC('t','e','x','t'),
 };
 
+enum m4af_priming_mode {
+    M4AF_PRIMING_MODE_ITUNSMPB = 1,
+    M4AF_PRIMING_MODE_EDTS = 2,
+    M4AF_PRIMING_MODE_BOTH = 3
+};
+
 typedef int (*m4af_read_callback)(void *cookie, void *buffer, uint32_t size);
 typedef int (*m4af_write_callback)(void *cookie, const void *data,
                                    uint32_t size);
@@ -65,14 +71,6 @@ typedef struct m4af_io_callbacks_t {
     m4af_tell_callback tell;
 } m4af_io_callbacks_t;
 
-typedef struct m4af_itmf_entry_t {
-    uint32_t fcc;
-    char *name;
-    uint32_t type_code;
-    char *data;
-    uint32_t data_size;
-} m4af_itmf_entry_t;
-
 typedef struct m4af_ctx_t m4af_ctx_t;
 
 
@@ -81,7 +79,7 @@ m4af_ctx_t *m4af_create(uint32_t codec, uint32_t timescale,
 
 int m4af_begin_write(m4af_ctx_t *ctx);
 
-int m4af_finalize(m4af_ctx_t *ctx);
+int m4af_finalize(m4af_ctx_t *ctx, int optimize);
 
 void m4af_teardown(m4af_ctx_t **ctx);
 
@@ -91,9 +89,16 @@ int m4af_write_sample(m4af_ctx_t *ctx, uint32_t track_idx, const void *data,
 int m4af_set_decoder_specific_info(m4af_ctx_t *ctx, uint32_t track_idx,
                                    uint8_t *data, uint32_t size);
 
+void m4af_set_vbr_mode(m4af_ctx_t *ctx, uint32_t track_idx, int is_vbr);
+
 void m4af_set_priming(m4af_ctx_t *ctx, uint32_t track_idx,
                       uint32_t encoder_delay, uint32_t padding);
 
+void m4af_set_priming_mode(m4af_ctx_t *ctx, int mode);
+
+void m4af_set_num_channels(m4af_ctx_t *ctx, uint32_t track_idx,
+                           uint16_t channels);
+
 void m4af_set_fixed_frame_duration(m4af_ctx_t *ctx, uint32_t track_idx,
                                    uint32_t length);
 
This page took 0.009768 seconds and 4 git commands to generate.