@overwolf/ow-electron-packages-types 1.1.14-beta.1 → 1.1.14-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/types.d.ts +78 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overwolf/ow-electron-packages-types",
3
- "version": "1.1.14-beta.1",
3
+ "version": "1.1.14-beta.3",
4
4
  "description": "Type definition file for autocompletion and documentation purposes for ow-electron packages",
5
5
  "license": "MIT",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -1020,8 +1020,8 @@ interface VideoEncoderInfo extends EncoderInfoBase {
1020
1020
  /**
1021
1021
  * Information about a GPU adapter (graphics device).
1022
1022
  *
1023
- * This structure provides metadata such as adapter name, driver, and
1024
- * hardware-accelerated GPU scheduling (HAGS) support.
1023
+ * This structure provides metadata such as adapter name, driver,
1024
+ * hardware-accelerated GPU scheduling (HAGS) support, and PCI vendor/device IDs.
1025
1025
  *
1026
1026
  * @example
1027
1027
  * const adapter: AdapterInfo = {
@@ -1029,7 +1029,9 @@ interface VideoEncoderInfo extends EncoderInfoBase {
1029
1029
  * name: 'NVIDIA GeForce RTX 3080',
1030
1030
  * driver: '546.33',
1031
1031
  * hagsEnabled: true,
1032
- * hagsEnabledByDefault: false
1032
+ * hagsEnabledByDefault: false,
1033
+ * vendorId: 0x10DE,
1034
+ * deviceId: 0x2206
1033
1035
  * };
1034
1036
  */
1035
1037
  interface AdapterInfo {
@@ -1057,6 +1059,17 @@ interface AdapterInfo {
1057
1059
  * Indicates whether HAGS is enabled by default on this adapter.
1058
1060
  */
1059
1061
  readonly hagsEnabledByDefault: boolean;
1062
+
1063
+ /**
1064
+ * The PCI vendor ID of the adapter.
1065
+ * Common values: 0x10DE (NVIDIA), 0x1002 (AMD), 0x8086 (Intel).
1066
+ */
1067
+ readonly vendorId: number;
1068
+
1069
+ /**
1070
+ * The PCI device ID of the adapter, identifying the GPU model within its vendor.
1071
+ */
1072
+ readonly deviceId: number;
1060
1073
  }
1061
1074
 
1062
1075
 
@@ -4565,16 +4578,17 @@ interface ReplayOptions extends RecordingBaseOptions {
4565
4578
  rootFolder: string;
4566
4579
 
4567
4580
  /**
4568
- * How long (ms) to wait for OBS to acknowledge a stop before force-killing
4569
- * the process. Defaults to `30000` ms.
4581
+ * How long (ms) a replays stop may take before it is forced. A forced stop
4582
+ * ends on the next frame and drops whatever the encoder had not caught up
4583
+ * on yet. If it still has not stopped 30 s later, OBS is restarted and
4584
+ * every running output is reported stopped with `ProcessTerminated`.
4585
+ * Defaults to `60000` ms.
4570
4586
  */
4571
4587
  stopReplaysKillTimeoutMs?: number;
4572
4588
 
4573
4589
  /**
4574
- * Output frame-skip rate (0–1) at which OBS is considered critically
4575
- * overloaded during an active recording. If this threshold is reached when
4576
- * the stop-replays timeout fires, OBS is force-killed even while a recording
4577
- * is active. Defaults to `0.5`.
4590
+ * @deprecated No effect. Stops are now forced and, if needed, OBS restarted
4591
+ * on a fixed schedule; see `stopReplaysKillTimeoutMs`.
4578
4592
  */
4579
4593
  criticalEncodeSkipRate?: number;
4580
4594
  }
@@ -4682,6 +4696,10 @@ interface CaptureReplayOptions {
4682
4696
  /**
4683
4697
  * The video length, in milliseconds, to include prior to the time this method is called.
4684
4698
  * This allows capturing moments that happened just before the replay trigger.
4699
+ *
4700
+ * A clip must start on a keyframe, so it starts on the last keyframe before
4701
+ * that point and can be up to one keyframe interval longer than asked. Set
4702
+ * `keyint_sec` (e.g. `1`) in the video encoder settings for tighter clips.
4685
4703
  */
4686
4704
  pastDuration: number;
4687
4705
 
@@ -4942,6 +4960,45 @@ interface RecorderStats {
4942
4960
  outputTotalFrames: number;
4943
4961
  }
4944
4962
 
4963
+ /**
4964
+ * What a 'performance-warning' measured. Both show as a choppy or frozen
4965
+ * video, but different settings fix them.
4966
+ * - `encoding-lag`: the encoder could not keep up, so frames were skipped and
4967
+ * the previous one repeated. The video also falls behind real time, so clips
4968
+ * and recordings can hold older footage than requested. Use a faster encoder
4969
+ * preset, a lower resolution or frame rate, or another encoder. Bitrate has
4970
+ * little effect.
4971
+ * - `rendering-lag`: the recorder could not compose frames in time, usually
4972
+ * because the game takes the whole GPU. Lower the frame rate (most effective)
4973
+ * or the resolution; an encoder change does not help.
4974
+ */
4975
+ type PerformanceWarningType = 'encoding-lag' | 'rendering-lag';
4976
+
4977
+ /**
4978
+ * Reported with the 'performance-warning' event.
4979
+ *
4980
+ * Measured since the recording or replays started, after a warm-up of 1000
4981
+ * rendered frames, and over at least 1000 more.
4982
+ */
4983
+ interface PerformanceWarningArgs {
4984
+ type: PerformanceWarningType;
4985
+
4986
+ /**
4987
+ * Percentage of frames skipped, 0 to 100.
4988
+ */
4989
+ percentage: number;
4990
+
4991
+ /**
4992
+ * Number of frames skipped.
4993
+ */
4994
+ skippedFrames: number;
4995
+
4996
+ /**
4997
+ * Number of frames measured.
4998
+ */
4999
+ totalFrames: number;
5000
+ }
5001
+
4945
5002
  /**
4946
5003
  * Recording error information including a specific error code and description.
4947
5004
  * Useful for detailed debugging and error handling during recording operations.
@@ -5235,6 +5292,18 @@ interface IOverwolfRecordingApi {
5235
5292
  *
5236
5293
  */
5237
5294
  on(eventName: 'stats', listener: (args: RecorderStats) => void): this;
5295
+
5296
+ /**
5297
+ * @event Fired on every 5% rise of skipped frames while recording or replays
5298
+ * run (5%, 10%, ...).
5299
+ *
5300
+ * The recorder only reports; lowering the capture settings is the caller's
5301
+ * decision. See {@link PerformanceWarningType} for what helps.
5302
+ */
5303
+ on(
5304
+ eventName: 'performance-warning',
5305
+ listener: (args: PerformanceWarningArgs) => void,
5306
+ ): this;
5238
5307
  }
5239
5308
 
5240
5309