diff options
Diffstat (limited to 'source/slang-capture-replay/capture-manager.cpp')
| -rw-r--r-- | source/slang-capture-replay/capture-manager.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/slang-capture-replay/capture-manager.cpp b/source/slang-capture-replay/capture-manager.cpp index 2d04b077a..5ab40d93c 100644 --- a/source/slang-capture-replay/capture-manager.cpp +++ b/source/slang-capture-replay/capture-manager.cpp @@ -2,6 +2,7 @@ #include <string> #include <sstream> #include <thread> +#include "capture_utility.h" #include "capture-manager.h" namespace SlangCapture @@ -11,7 +12,21 @@ namespace SlangCapture { std::stringstream ss; ss << "gs-"<< globalSessionHandle <<"-t-"<<std::this_thread::get_id() << ".cap"; - m_fileStream = std::make_unique<FileOutputStream>(ss.str()); + + m_captureFileDirectory = m_captureFileDirectory / "slang-capture"; + + if (!std::filesystem::exists(m_captureFileDirectory)) + { + std::error_code ec; + if (!std::filesystem::create_directory(m_captureFileDirectory, ec)) + { + slangCaptureLog(LogLevel::Error, "Fail to create directory: %s, error (%d): %s\n", + m_captureFileDirectory.string().c_str(), ec.value(), ec.message().c_str()); + } + } + + std::filesystem::path captureFilePath = m_captureFileDirectory / ss.str(); + m_fileStream = std::make_unique<FileOutputStream>(captureFilePath.string()); } void CaptureManager::clearWithHeader(const ApiCallId& callId, uint64_t handleId) |
