mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
UI: Check low disk space only if recording to a file
The Custom FFmpeg Output allows the user to configure it to output to a URL instead of a file. In OBSBasic::StartRecording(), we unconditionally call LowDiskSpace() to check for low disk space because we assume that a "recording" will always be to disk. When os_get_free_disk_space() is called on a non-existent path, it returns 0, which causes OBS to emit a low disk space warning. Instead, only call DiskSpaceMessage() if not "recording" to a URL.
This commit is contained in:
parent
4e18bb6e50
commit
11131682b1
@ -7652,7 +7652,7 @@ void OBSBasic::StartRecording()
|
||||
return;
|
||||
}
|
||||
|
||||
if (LowDiskSpace()) {
|
||||
if (!IsFFmpegOutputToURL() && LowDiskSpace()) {
|
||||
DiskSpaceMessage();
|
||||
ui->recordButton->setChecked(false);
|
||||
return;
|
||||
@ -10887,7 +10887,7 @@ void OBSBasic::OutputPathInvalidMessage()
|
||||
QTStr("Output.BadPath.Text"));
|
||||
}
|
||||
|
||||
bool OBSBasic::OutputPathValid()
|
||||
bool OBSBasic::IsFFmpegOutputToURL() const
|
||||
{
|
||||
const char *mode = config_get_string(Config(), "Output", "Mode");
|
||||
if (strcmp(mode, "Advanced") == 0) {
|
||||
@ -10901,6 +10901,14 @@ bool OBSBasic::OutputPathValid()
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool OBSBasic::OutputPathValid()
|
||||
{
|
||||
if (IsFFmpegOutputToURL())
|
||||
return true;
|
||||
|
||||
const char *path = GetCurrentOutputPath();
|
||||
return path && *path && QDir(path).exists();
|
||||
}
|
||||
|
@ -881,6 +881,7 @@ private:
|
||||
void UpdatePause(bool activate = true);
|
||||
void UpdateReplayBuffer(bool activate = true);
|
||||
|
||||
bool IsFFmpegOutputToURL() const;
|
||||
bool OutputPathValid();
|
||||
void OutputPathInvalidMessage();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user