mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-22 00:06:59 +02:00
Add helpers for initializing format converter configs.
This commit is contained in:
@@ -1971,6 +1971,11 @@ mal_uint64 mal_format_converter_read(mal_format_converter* pConverter, mal_uint6
|
||||
mal_uint64 mal_format_converter_read_deinterleaved(mal_format_converter* pConverter, mal_uint64 frameCount, void** ppSamplesOut, void* pUserData);
|
||||
|
||||
|
||||
// Helper for initializing a format converter config.
|
||||
mal_format_converter_config mal_format_converter_config_init_new();
|
||||
mal_format_converter_config mal_format_converter_config_init(mal_format formatIn, mal_format formatOut, mal_uint32 channels, mal_format_converter_read_proc onRead, mal_format_converter_read_deinterleaved_proc onReadDeinterleaved, void* pUserData);
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -18558,6 +18563,28 @@ mal_uint64 mal_format_converter_read_deinterleaved(mal_format_converter* pConver
|
||||
}
|
||||
|
||||
|
||||
mal_format_converter_config mal_format_converter_config_init_new()
|
||||
{
|
||||
mal_format_converter_config config;
|
||||
mal_zero_object(&config);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
mal_format_converter_config mal_format_converter_config_init(mal_format formatIn, mal_format formatOut, mal_uint32 channels, mal_format_converter_read_proc onRead, mal_format_converter_read_deinterleaved_proc onReadDeinterleaved, void* pUserData)
|
||||
{
|
||||
mal_format_converter_config config = mal_format_converter_config_init_new();
|
||||
config.formatIn = formatIn;
|
||||
config.formatOut = formatOut;
|
||||
config.channels = channels;
|
||||
config.onRead = onRead;
|
||||
config.onReadDeinterleaved = onReadDeinterleaved;
|
||||
config.pUserData = pUserData;
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@@ -78,11 +78,10 @@ int do_dithering_test()
|
||||
mal_sine_wave_init(0.5, 400, 48000, &sineWave);
|
||||
|
||||
mal_format srcFormat = mal_format_s24;
|
||||
mal_format dstFormat = mal_format_s16;
|
||||
mal_format dstFormat = mal_format_u8;
|
||||
mal_dither_mode ditherMode = mal_dither_mode_triangle;
|
||||
|
||||
mal_format_converter_config converterInConfig;
|
||||
mal_zero_object(&converterInConfig);
|
||||
mal_format_converter_config converterInConfig = mal_format_converter_config_init_new();
|
||||
converterInConfig.formatIn = mal_format_f32; // <-- From the sine wave generator.
|
||||
converterInConfig.formatOut = srcFormat;
|
||||
converterInConfig.channels = config.channels;
|
||||
@@ -94,8 +93,7 @@ int do_dithering_test()
|
||||
return -3;
|
||||
}
|
||||
|
||||
mal_format_converter_config converterOutConfig;
|
||||
mal_zero_object(&converterInConfig);
|
||||
mal_format_converter_config converterOutConfig = mal_format_converter_config_init_new();
|
||||
converterOutConfig.formatIn = srcFormat;
|
||||
converterOutConfig.formatOut = dstFormat;
|
||||
converterOutConfig.channels = config.channels;
|
||||
|
||||
Reference in New Issue
Block a user