Commit 859720ec authored by David Reid's avatar David Reid

Add helpers for initializing format converter configs.

parent 994c86fc
...@@ -1971,6 +1971,11 @@ mal_uint64 mal_format_converter_read(mal_format_converter* pConverter, mal_uint6 ...@@ -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); 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 ...@@ -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() ...@@ -78,11 +78,10 @@ int do_dithering_test()
mal_sine_wave_init(0.5, 400, 48000, &sineWave); mal_sine_wave_init(0.5, 400, 48000, &sineWave);
mal_format srcFormat = mal_format_s24; 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_dither_mode ditherMode = mal_dither_mode_triangle;
mal_format_converter_config converterInConfig; mal_format_converter_config converterInConfig = mal_format_converter_config_init_new();
mal_zero_object(&converterInConfig);
converterInConfig.formatIn = mal_format_f32; // <-- From the sine wave generator. converterInConfig.formatIn = mal_format_f32; // <-- From the sine wave generator.
converterInConfig.formatOut = srcFormat; converterInConfig.formatOut = srcFormat;
converterInConfig.channels = config.channels; converterInConfig.channels = config.channels;
...@@ -94,8 +93,7 @@ int do_dithering_test() ...@@ -94,8 +93,7 @@ int do_dithering_test()
return -3; return -3;
} }
mal_format_converter_config converterOutConfig; mal_format_converter_config converterOutConfig = mal_format_converter_config_init_new();
mal_zero_object(&converterInConfig);
converterOutConfig.formatIn = srcFormat; converterOutConfig.formatIn = srcFormat;
converterOutConfig.formatOut = dstFormat; converterOutConfig.formatOut = dstFormat;
converterOutConfig.channels = config.channels; converterOutConfig.channels = config.channels;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment