From 5ea71bce89627f76cb45669bf14cc49f92471361 Mon Sep 17 00:00:00 2001 From: cantabile Date: Fri, 15 Jun 2012 13:08:45 +0000 Subject: [PATCH] HD audio cache: initialise variables before checking for free space Originally committed to SVN as r6907. --- aegisub/src/audio_provider_hd.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/aegisub/src/audio_provider_hd.cpp b/aegisub/src/audio_provider_hd.cpp index a434b5246..8dea6d5dc 100644 --- a/aegisub/src/audio_provider_hd.cpp +++ b/aegisub/src/audio_provider_hd.cpp @@ -102,13 +102,6 @@ HDAudioProvider::HDAudioProvider(AudioProvider *src, agi::BackgroundRunner *br) agi::scoped_ptr source(src); assert(src->AreSamplesNativeEndian()); // Byteswapping should be done before caching - // Check free space - wxDiskspaceSize_t freespace; - if (wxGetDiskSpace(cache_dir(), 0, &freespace)) { - if (num_samples * channels * bytes_per_sample > freespace) - throw agi::AudioCacheOpenError("Not enough free disk space in " + STD_STR(cache_dir()) + " to cache the audio", 0); - } - bytes_per_sample = source->GetBytesPerSample(); num_samples = source->GetNumSamples(); channels = source->GetChannels(); @@ -116,6 +109,13 @@ HDAudioProvider::HDAudioProvider(AudioProvider *src, agi::BackgroundRunner *br) filename = source->GetFilename(); float_samples = source->AreSamplesFloat(); + // Check free space + wxDiskspaceSize_t freespace; + if (wxGetDiskSpace(cache_dir(), 0, &freespace)) { + if (num_samples * channels * bytes_per_sample > freespace) + throw agi::AudioCacheOpenError("Not enough free disk space in " + STD_STR(cache_dir()) + " to cache the audio", 0); + } + diskCacheFilename = cache_path(); try {