mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-23 08:44:04 +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);
|
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_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()
|
|||||||
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;
|
||||||
|
|||||||
Reference in New Issue
Block a user