From 6ebc813e4878e72ec9a906ef5f58b86da2c6c217 Mon Sep 17 00:00:00 2001 From: alex-pahdo <109116583+alex-pahdo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:30:37 -0700 Subject: [PATCH] Add more info to WAV import errors Print mismatched header contents and file size, which can provide more clues to users when debugging. (cherry picked from commit f5d256b118914817e2c7ac5c35421e2767fc1e79) --- editor/import/resource_importer_wav.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp index 56826671c..2e6d359f4 100644 --- a/editor/import/resource_importer_wav.cpp +++ b/editor/import/resource_importer_wav.cpp @@ -104,9 +104,10 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s file->get_buffer((uint8_t *)&riff, 4); //RIFF if (riff[0] != 'R' || riff[1] != 'I' || riff[2] != 'F' || riff[3] != 'F') { + uint64_t length = file->get_len(); file->close(); memdelete(file); - ERR_FAIL_V(ERR_FILE_UNRECOGNIZED); + ERR_FAIL_V_MSG(ERR_FILE_UNRECOGNIZED, vformat("Not a WAV file. File should start with 'RIFF', but found '%s', in file of size %d bytes", riff, length)); } /* GET FILESIZE */ @@ -114,14 +115,15 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s /* CHECK WAVE */ - char wave[4]; - - file->get_buffer((uint8_t *)&wave, 4); //RIFF + char wave[5]; + wave[4] = 0; + file->get_buffer((uint8_t *)&wave, 4); //WAVE if (wave[0] != 'W' || wave[1] != 'A' || wave[2] != 'V' || wave[3] != 'E') { + uint64_t length = file->get_len(); file->close(); memdelete(file); - ERR_FAIL_V_MSG(ERR_FILE_UNRECOGNIZED, "Not a WAV file (no WAVE RIFF header)."); + ERR_FAIL_V_MSG(ERR_FILE_UNRECOGNIZED, vformat("Not a WAV file. Header should contain 'WAVE', but found '%s', in file of size %d bytes", wave, length)); } // Let users override potential loop points from the WAV.