diff --git a/rpcs3/Emu/Cell/Modules/cellRec.cpp b/rpcs3/Emu/Cell/Modules/cellRec.cpp index 44739703f8..8eca2d1382 100644 --- a/rpcs3/Emu/Cell/Modules/cellRec.cpp +++ b/rpcs3/Emu/Cell/Modules/cellRec.cpp @@ -1377,7 +1377,6 @@ error_code cellRecClose(s32 isDiscard) cellRec.error("cellRecClose: Unexpected recording mode %s found while stopping video capture.", old_mode); } - g_fxo->need(); utils::video_provider& video_provider = g_fxo->get(); if (!video_provider.set_video_sink(nullptr, recording_mode::cell)) @@ -1465,7 +1464,6 @@ error_code cellRecStart() // Setup a video sink if it is needed if (rec.param.use_internal_video() || rec.param.use_internal_audio()) { - g_fxo->need(); utils::video_provider& video_provider = g_fxo->get(); if (rec.sink && !video_provider.set_video_sink(rec.sink, recording_mode::cell)) diff --git a/rpcs3/Emu/VFS.cpp b/rpcs3/Emu/VFS.cpp index 43ae1cdbce..d5952eeac8 100644 --- a/rpcs3/Emu/VFS.cpp +++ b/rpcs3/Emu/VFS.cpp @@ -144,8 +144,10 @@ bool vfs::unmount(std::string_view vpath) vfs_log.notice("About to unmount '%s'", vpath); - // Workaround - g_fxo->need(); + if (!g_fxo->is_init()) + { + return false; + } auto& table = g_fxo->get();