diff --git a/aegisub/src/audio_provider.cpp b/aegisub/src/audio_provider.cpp index aecc23797..ae2c7c5fe 100644 --- a/aegisub/src/audio_provider.cpp +++ b/aegisub/src/audio_provider.cpp @@ -126,13 +126,16 @@ struct provider_creator { return provider; } catch (agi::FileNotFoundError const& err) { + LOG_D("audio_provider") << err.GetChainedMessage(); msg += name + ": " + err.GetMessage() + " not found.\n"; } catch (agi::AudioDataNotFoundError const& err) { + LOG_D("audio_provider") << err.GetChainedMessage(); found_file = true; msg += name + ": " + err.GetChainedMessage() + "\n"; } catch (agi::AudioOpenError const& err) { + LOG_D("audio_provider") << err.GetChainedMessage(); found_audio = true; found_file = true; msg += name + ": " + err.GetChainedMessage() + "\n"; diff --git a/aegisub/src/audio_provider_convert.cpp b/aegisub/src/audio_provider_convert.cpp index c493982d3..004972148 100644 --- a/aegisub/src/audio_provider_convert.cpp +++ b/aegisub/src/audio_provider_convert.cpp @@ -28,6 +28,7 @@ #include "include/aegisub/audio_provider.h" #include +#include #include @@ -214,21 +215,28 @@ AudioProvider *CreateConvertAudioProvider(AudioProvider *source_provider) { // Ensure 16-bit audio with proper endianness if (provider->AreSamplesFloat()) { + LOG_D("audio_provider") << "Converting float to S16"; if (provider->GetBytesPerSample() == sizeof(float)) provider = new FloatConvertAudioProvider(provider); else provider = new FloatConvertAudioProvider(provider); } - if (provider->GetBytesPerSample() != 2 || !provider->AreSamplesNativeEndian()) + if (provider->GetBytesPerSample() != 2 || !provider->AreSamplesNativeEndian()) { + LOG_D("audio_provider") << "Converting " << provider->GetBytesPerSample() << " bytes per sample or wrong endian to S16"; provider = new BitdepthConvertAudioProvider(provider); + } // We currently only support mono audio - if (provider->GetChannels() != 1) + if (provider->GetChannels() != 1) { + LOG_D("audio_provider") << "Downmixing to mono from " << provider->GetChannels() << " channels"; provider = new DownmixAudioProvider(provider); + } // Some players don't like low sample rate audio - while (provider->GetSampleRate() < 32000) + while (provider->GetSampleRate() < 32000) { + LOG_D("audio_provider") << "Doubling sample rate"; provider = new SampleDoublingAudioProvider(provider); + } return provider; }