Browse Source

UI: Disable replay buffer checkbox when using custom FFmpeg

gxalpha 3 years ago
parent
commit
4bcd86b395
3 changed files with 14 additions and 1 deletions
  1. 1 0
      UI/data/locale/en-US.ini
  2. 10 0
      UI/forms/OBSBasicSettings.ui
  3. 3 1
      UI/window-basic-settings.cpp

+ 1 - 0
UI/data/locale/en-US.ini

@@ -949,6 +949,7 @@ Basic.Settings.Output.ReplayBuffer.EstimateTooLarge="Warning: Estimated memory u
 Basic.Settings.Output.ReplayBuffer.EstimateUnknown="Cannot estimate memory usage. Please set maximum memory limit."
 Basic.Settings.Output.ReplayBuffer.Prefix="Replay Buffer Filename Prefix"
 Basic.Settings.Output.ReplayBuffer.Suffix="Suffix"
+Basic.Settings.Output.ReplayBuffer.UnavailableCustomFFmpeg="Replay Buffer cannot be used when recording type is set to Custom Output (FFmpeg)."
 Basic.Settings.Output.Simple.SavePath="Recording Path"
 Basic.Settings.Output.Simple.RecordingQuality="Recording Quality"
 Basic.Settings.Output.Simple.RecordingQuality.Stream="Same as stream"

+ 10 - 0
UI/forms/OBSBasicSettings.ui

@@ -4593,6 +4593,16 @@
                        <property name="bottomMargin">
                         <number>9</number>
                        </property>
+                       <item>
+                        <widget class="QLabel" name="advReplayBufCustomFFmpeg">
+                         <property name="text">
+                          <string>Basic.Settings.Output.ReplayBuffer.UnavailableCustomFFmpeg</string>
+                         </property>
+                         <property name="themeID" stdset="0">
+                          <string>warning</string>
+                         </property>
+                        </widget>
+                       </item>
                        <item>
                         <widget class="QCheckBox" name="advReplayBuf">
                          <property name="text">

+ 3 - 1
UI/window-basic-settings.cpp

@@ -5083,8 +5083,10 @@ void OBSBasicSettings::UpdateAutomaticReplayBufferCheckboxes()
 		break;
 	case 1:
 		state = ui->advReplayBuf->isChecked();
+		bool customFFmpeg = ui->advOutRecType->currentIndex() == 1;
 		ui->advReplayBuf->setEnabled(
-			!obs_frontend_replay_buffer_active());
+			!obs_frontend_replay_buffer_active() && !customFFmpeg);
+		ui->advReplayBufCustomFFmpeg->setVisible(customFFmpeg);
 		break;
 	}
 	ui->replayWhileStreaming->setEnabled(state);