5 #include <vorbis/codec.h>
8 typedef long (*audio_read_func
)(void *src
, float **buffer
, int samples
);
9 typedef void (*progress_func
)(char *fn
, long totalsamples
,
10 long samples
, double time
);
11 typedef void (*enc_end_func
)(char *fn
, double time
, int rate
,
12 long samples
, long bytes
);
13 typedef void (*enc_start_func
)(char *fn
, char *outfn
, int bitrate
,
14 float quality
, int qset
, int managed
, int min_br
, int max_br
);
15 typedef void (*error_func
)(char *errormessage
);
18 void *timer_start(void);
19 double timer_time(void *);
20 void timer_clear(void *);
21 int create_directories(char *);
23 void update_statistics_full(char *fn
, long total
, long done
, double time
);
24 void update_statistics_notime(char *fn
, long total
, long done
, double time
);
25 void update_statistics_null(char *fn
, long total
, long done
, double time
);
26 void start_encode_full(char *fn
, char *outfn
, int bitrate
, float quality
, int qset
,
27 int managed
, int min
, int max
);
28 void start_encode_null(char *fn
, char *outfn
, int bitrate
, float quality
, int qset
,
29 int managed
, int min
, int max
);
30 void final_statistics(char *fn
, double time
, int rate
, long total_samples
,
32 void final_statistics_null(char *fn
, double time
, int rate
, long total_samples
,
34 void encode_error(char *errmsg
);
72 char *namefmt_replace
;
81 /* Float from 0 to 1 (low->high) */
90 unsigned int skeleton_serial
;
97 vorbis_comment
*comments
;
98 unsigned int serialno
;
99 unsigned int skeleton_serialno
;
101 audio_read_func read_samples
;
102 progress_func progress_update
;
103 enc_end_func end_encode
;
104 enc_start_func start_encode
;
109 long total_samples_per_channel
;
118 /* Various bitrate/quality options */
135 int oe_encode(oe_enc_opt
*opt
);
137 #endif /* __ENCODE_H */