This renames `defaultVolumeSmoothTimeInPCMFrames` in `ma_engine_config`
to `defaultVolumeSmoothTimeInFrames` in order to make it consistent
with other variables in the same structure.
This renames `gainSmoothTimeInFrames` in `ma_engine_config` to
`spatializationVolumeSmoothTimeInFrames` in order to make it more clear
that it specifically affects spatialization.
This removes `isLooping` from these configs:
* ma_sound_config
* ma_resource_manager_data_source_config
The new way to set the initial looping state for these objects is to
use a flag:
* MA_SOUND_FLAG_LOOPING or
* MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING
The motivation for this change is that it allows the initial looping
state to be set without needing `ma_sound_init_ex()` and
`ma_sound_config`.
This adds the following functions:
* ma_encoding_format_from_path()
* ma_encoding_format_from_path_w()
You can use these to pass into ma_decoder_config to skip over decoding
backends that don't support the given file extension.
With this change, there are now new prioritization rules when deciding
which backend to attempt to load from.
* Backends are iterated in the order they are defined in the config.
* If the encoding format is set to ma_encoding_format_unknown, all
backends will be attempted in regular prioritization order.
* If the encoding format is set to something other than
ma_encoding_format_unknown, that is a specific format is being
requested, only backends that report support for that format or
ma_encoding_format_unknown will attempted.
* File extensions are no longer used as a hint for prioritization.
The encoding format in ma_decoder_config should be used to
accelerate backend selection instead.