Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
sound_chef_encoder.h
Go to the documentation of this file.
1#ifndef SOUND_CHEF_ENCODER
2#define SOUND_CHEF_ENCODER
3
11#include "sound_chef/sound_chef_common.h"
12
13#ifdef __cplusplus
14extern "C"
15{
16#endif
17
19 typedef struct sc_encoder sc_encoder;
20
21 typedef enum ma_encoding_format_ext
22 {
23 ma_encoding_format_opus = ma_encoding_format_vorbis + 1,
24 ma_encoding_format_adpcm
25 } ma_encoding_format_ext;
26
28 {
29 ma_encoder_config baseConfig;
30 ma_uint8 quality; //< quality setting for formats that allow it
31 ma_encoding_format_ext encodingFormat;
32 };
33
35 {
36 ma_encoder baseEncoder;
37 sc_encoder_config config;
38 };
39
40 sc_encoder_config SC_API sc_encoder_config_init(ma_encoding_format_ext encodingFormat,
41 ma_format format,
42 ma_uint32 channels,
43 ma_uint32 sampleRate,
44 ma_uint8 quality);
45
46 sc_result SC_API sc_encoder_init(ma_encoder_write_proc onWrite,
47 ma_encoder_seek_proc onSeek,
48 void* userData,
49 const sc_encoder_config* config,
50 sc_encoder* encoder);
51
52 sc_result SC_API sc_encoder_init_file(const char* filePath,
53 const sc_encoder_config* config,
54 sc_encoder* encoder);
55
56 sc_result SC_API sc_encoder_write_pcm_frames(sc_encoder* encoder,
57 const void* framesIn,
58 ma_uint64 frameCount,
59 ma_uint64* framesWritten);
60
61 sc_result SC_API sc_encoder_uninit(sc_encoder* encoder);
62
63 //
64
65 sc_result SC_API sc_encoder_write_from_file(const char* decodeFilePath,
66 const char* encodeFilePath,
67 const sc_encoder_config* config);
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif
Definition sound_chef_encoder.h:28
Definition sound_chef_encoder.h:35