@t3lnet/sceneforge 1.0.16 → 1.0.17

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.
@@ -65,7 +65,8 @@ export function getVideoEncodingArgs(options = {}) {
65
65
  } = options;
66
66
 
67
67
  const preset = QUALITY_PRESETS[quality] || QUALITY_PRESETS[DEFAULT_QUALITY];
68
- const crf = crfOverride !== undefined ? crfOverride : preset.crf;
68
+ // Only use crfOverride if it's a valid finite number
69
+ const crf = (crfOverride !== undefined && Number.isFinite(crfOverride)) ? crfOverride : preset.crf;
69
70
  const encodingPreset = preset.preset;
70
71
 
71
72
  const args = ["-c:v", codec, "-preset", encodingPreset, "-crf", String(crf)];
@@ -103,9 +104,18 @@ export function parseQualityArgs(args, getFlagValue, hasFlag) {
103
104
  );
104
105
  }
105
106
 
107
+ // Parse CRF value, only set if it's a valid number
108
+ let crf = undefined;
109
+ if (crfValue !== undefined && crfValue !== null && crfValue !== "") {
110
+ const parsed = parseInt(crfValue, 10);
111
+ if (!Number.isNaN(parsed)) {
112
+ crf = parsed;
113
+ }
114
+ }
115
+
106
116
  return {
107
117
  quality: QUALITY_PRESETS[quality] ? quality : DEFAULT_QUALITY,
108
- crf: crfValue !== undefined ? parseInt(crfValue, 10) : undefined,
118
+ crf,
109
119
  codec: SUPPORTED_CODECS[codec] ? codec : DEFAULT_CODEC,
110
120
  };
111
121
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t3lnet/sceneforge",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "SceneForge runner and generation utilities for YAML-driven demos",
5
5
  "license": "MIT",
6
6
  "author": "T3LNET",