node-av 3.0.4 → 3.0.6

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.
@@ -825,7 +825,8 @@ export declare class Option {
825
825
  export declare class OptionMember<T extends OptionCapableObject> {
826
826
  protected native: T;
827
827
  constructor(native: T);
828
- setOption(name: string, value: string, type?: AVOptionTypeString, searchFlags?: AVOptionSearchFlags): number;
828
+ setOption(name: string, value: string | number | boolean | bigint | null | undefined): number;
829
+ setOption(name: string, value: string, type: AVOptionTypeString, searchFlags?: AVOptionSearchFlags): number;
829
830
  setOption(name: string, value: string, type: AVOptionTypeColor, searchFlags?: AVOptionSearchFlags): number;
830
831
  setOption(name: string, value: number, type: AVOptionTypeInt, searchFlags?: AVOptionSearchFlags): number;
831
832
  setOption(name: string, value: bigint, type: AVOptionTypeInt64, searchFlags?: AVOptionSearchFlags): number;
@@ -895,4 +896,20 @@ export declare class OptionMember<T extends OptionCapableObject> {
895
896
  * @see {@link OptionInfo} For option metadata structure
896
897
  */
897
898
  listOptions(): OptionInfo[];
899
+ /**
900
+ * Intelligently set a format option based on its FFmpeg type.
901
+ *
902
+ * Queries the option type using av_opt_find() and calls the appropriate
903
+ * typed setOption() overload. Handles automatic type conversion from
904
+ * JavaScript types to FFmpeg option types.
905
+ *
906
+ * @param name - Option name
907
+ *
908
+ * @param value - Option value (null/undefined are skipped)
909
+ *
910
+ * @returns 0 on success, negative on error
911
+ *
912
+ * @internal
913
+ */
914
+ private setUnknownOption;
898
915
  }
@@ -1,7 +1,9 @@
1
1
  import { AV_OPT_SEARCH_CHILDREN, AV_OPT_TYPE_BINARY, AV_OPT_TYPE_BINARY_INT_ARRAY, AV_OPT_TYPE_BOOL, AV_OPT_TYPE_CHLAYOUT, AV_OPT_TYPE_COLOR, AV_OPT_TYPE_CONST, AV_OPT_TYPE_DICT, AV_OPT_TYPE_DOUBLE, AV_OPT_TYPE_DURATION, AV_OPT_TYPE_FLAGS, AV_OPT_TYPE_FLOAT, AV_OPT_TYPE_IMAGE_SIZE, AV_OPT_TYPE_INT, AV_OPT_TYPE_INT64, AV_OPT_TYPE_PIXEL_FMT, AV_OPT_TYPE_RATIONAL, AV_OPT_TYPE_SAMPLE_FMT, AV_OPT_TYPE_STRING, AV_OPT_TYPE_UINT, AV_OPT_TYPE_UINT64, AV_OPT_TYPE_VIDEO_RATE, AVFLAG_NONE, } from '../constants/constants.js';
2
2
  import { bindings } from './binding.js';
3
3
  import { Dictionary } from './dictionary.js';
4
+ import { FFmpegError, PosixError } from './error.js';
4
5
  import { Rational } from './rational.js';
6
+ import { avGetPixFmtFromName, avGetSampleFmtFromName } from './utilities.js';
5
7
  /**
6
8
  * Option information descriptor.
7
9
  *
@@ -954,7 +956,14 @@ export class OptionMember {
954
956
  * ```
955
957
  */
956
958
  setOption(name, value, type = AV_OPT_TYPE_STRING, searchFlags = AV_OPT_SEARCH_CHILDREN) {
957
- // Use specific setter based on type
959
+ if (value === undefined || value === null) {
960
+ return 0;
961
+ }
962
+ // Do we need to infer type? FFmpeg can handle unknown options
963
+ if (type === undefined) {
964
+ return this.setUnknownOption(name, value);
965
+ }
966
+ // searchFlags ??= AV_OPT_SEARCH_CHILDREN;
958
967
  switch (type) {
959
968
  case AV_OPT_TYPE_STRING:
960
969
  case AV_OPT_TYPE_COLOR: // Colors are set as strings
@@ -1182,5 +1191,365 @@ export class OptionMember {
1182
1191
  }
1183
1192
  return options;
1184
1193
  }
1194
+ /**
1195
+ * Intelligently set a format option based on its FFmpeg type.
1196
+ *
1197
+ * Queries the option type using av_opt_find() and calls the appropriate
1198
+ * typed setOption() overload. Handles automatic type conversion from
1199
+ * JavaScript types to FFmpeg option types.
1200
+ *
1201
+ * @param name - Option name
1202
+ *
1203
+ * @param value - Option value (null/undefined are skipped)
1204
+ *
1205
+ * @returns 0 on success, negative on error
1206
+ *
1207
+ * @internal
1208
+ */
1209
+ setUnknownOption(name, value) {
1210
+ if (value === undefined || value === null) {
1211
+ return 0;
1212
+ }
1213
+ // Try to find the option to get its type
1214
+ const optInfo = Option.find(this.native, name, AV_OPT_SEARCH_CHILDREN);
1215
+ if (optInfo) {
1216
+ const optType = optInfo.type;
1217
+ // Handle based on FFmpeg option type
1218
+ switch (optType) {
1219
+ case AV_OPT_TYPE_INT:
1220
+ if (typeof value === 'number') {
1221
+ return this.setOption(name, value, AV_OPT_TYPE_INT);
1222
+ }
1223
+ else if (typeof value === 'boolean') {
1224
+ return this.setOption(name, value ? 1 : 0, AV_OPT_TYPE_INT);
1225
+ }
1226
+ else if (typeof value === 'bigint') {
1227
+ return this.setOption(name, Number(value), AV_OPT_TYPE_INT);
1228
+ }
1229
+ else if (typeof value === 'string') {
1230
+ return this.setOption(name, parseInt(value, 10), AV_OPT_TYPE_INT);
1231
+ }
1232
+ else {
1233
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1234
+ }
1235
+ case AV_OPT_TYPE_UINT:
1236
+ if (typeof value === 'number') {
1237
+ return this.setOption(name, value, AV_OPT_TYPE_UINT);
1238
+ }
1239
+ else if (typeof value === 'boolean') {
1240
+ return this.setOption(name, value ? 1 : 0, AV_OPT_TYPE_UINT);
1241
+ }
1242
+ else if (typeof value === 'bigint') {
1243
+ return this.setOption(name, Number(value), AV_OPT_TYPE_UINT);
1244
+ }
1245
+ else if (typeof value === 'string') {
1246
+ return this.setOption(name, parseInt(value, 10), AV_OPT_TYPE_UINT);
1247
+ }
1248
+ else {
1249
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1250
+ }
1251
+ case AV_OPT_TYPE_FLAGS:
1252
+ if (typeof value === 'number') {
1253
+ return this.setOption(name, value, AV_OPT_TYPE_FLAGS);
1254
+ }
1255
+ else if (typeof value === 'boolean') {
1256
+ return this.setOption(name, value ? 1 : 0, AV_OPT_TYPE_FLAGS);
1257
+ }
1258
+ else if (typeof value === 'bigint') {
1259
+ return this.setOption(name, Number(value), AV_OPT_TYPE_FLAGS);
1260
+ }
1261
+ else if (typeof value === 'string') {
1262
+ return this.setOption(name, parseInt(value, 10), AV_OPT_TYPE_FLAGS);
1263
+ }
1264
+ else {
1265
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1266
+ }
1267
+ case AV_OPT_TYPE_CONST:
1268
+ if (typeof value === 'number') {
1269
+ return this.setOption(name, value, AV_OPT_TYPE_CONST);
1270
+ }
1271
+ else if (typeof value === 'boolean') {
1272
+ return this.setOption(name, value ? 1 : 0, AV_OPT_TYPE_CONST);
1273
+ }
1274
+ else if (typeof value === 'bigint') {
1275
+ return this.setOption(name, Number(value), AV_OPT_TYPE_CONST);
1276
+ }
1277
+ else if (typeof value === 'string') {
1278
+ return this.setOption(name, parseInt(value, 10), AV_OPT_TYPE_CONST);
1279
+ }
1280
+ else {
1281
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1282
+ }
1283
+ case AV_OPT_TYPE_DURATION:
1284
+ if (typeof value === 'number') {
1285
+ return this.setOption(name, value, AV_OPT_TYPE_DURATION);
1286
+ }
1287
+ else if (typeof value === 'boolean') {
1288
+ return this.setOption(name, value ? 1 : 0, AV_OPT_TYPE_DURATION);
1289
+ }
1290
+ else if (typeof value === 'bigint') {
1291
+ return this.setOption(name, Number(value), AV_OPT_TYPE_DURATION);
1292
+ }
1293
+ else if (typeof value === 'string') {
1294
+ return this.setOption(name, parseInt(value, 10), AV_OPT_TYPE_DURATION);
1295
+ }
1296
+ else {
1297
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1298
+ }
1299
+ case AV_OPT_TYPE_INT64:
1300
+ if (typeof value === 'bigint') {
1301
+ return this.setOption(name, value, AV_OPT_TYPE_INT64);
1302
+ }
1303
+ else if (typeof value === 'number') {
1304
+ return this.setOption(name, BigInt(value), AV_OPT_TYPE_INT64);
1305
+ }
1306
+ else if (typeof value === 'boolean') {
1307
+ return this.setOption(name, value ? 1n : 0n, AV_OPT_TYPE_INT64);
1308
+ }
1309
+ else if (typeof value === 'string') {
1310
+ return this.setOption(name, BigInt(value), AV_OPT_TYPE_INT64);
1311
+ }
1312
+ else {
1313
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1314
+ }
1315
+ case AV_OPT_TYPE_UINT64:
1316
+ if (typeof value === 'bigint') {
1317
+ return this.setOption(name, value, AV_OPT_TYPE_UINT64);
1318
+ }
1319
+ else if (typeof value === 'number') {
1320
+ return this.setOption(name, BigInt(value), AV_OPT_TYPE_UINT64);
1321
+ }
1322
+ else if (typeof value === 'boolean') {
1323
+ return this.setOption(name, value ? 1n : 0n, AV_OPT_TYPE_UINT64);
1324
+ }
1325
+ else if (typeof value === 'string') {
1326
+ return this.setOption(name, BigInt(value), AV_OPT_TYPE_UINT64);
1327
+ }
1328
+ else {
1329
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1330
+ }
1331
+ case AV_OPT_TYPE_CHLAYOUT:
1332
+ if (typeof value === 'bigint') {
1333
+ return this.setOption(name, value, AV_OPT_TYPE_CHLAYOUT);
1334
+ }
1335
+ else if (typeof value === 'number') {
1336
+ return this.setOption(name, BigInt(value), AV_OPT_TYPE_CHLAYOUT);
1337
+ }
1338
+ else if (typeof value === 'boolean') {
1339
+ return this.setOption(name, value ? 1n : 0n, AV_OPT_TYPE_CHLAYOUT);
1340
+ }
1341
+ else if (typeof value === 'string') {
1342
+ return this.setOption(name, BigInt(value), AV_OPT_TYPE_CHLAYOUT);
1343
+ }
1344
+ else {
1345
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1346
+ }
1347
+ case AV_OPT_TYPE_FLOAT:
1348
+ if (typeof value === 'number') {
1349
+ return this.setOption(name, value, AV_OPT_TYPE_FLOAT);
1350
+ }
1351
+ else if (typeof value === 'boolean') {
1352
+ return this.setOption(name, value ? 1.0 : 0.0, AV_OPT_TYPE_FLOAT);
1353
+ }
1354
+ else if (typeof value === 'bigint') {
1355
+ return this.setOption(name, Number(value), AV_OPT_TYPE_FLOAT);
1356
+ }
1357
+ else if (typeof value === 'string') {
1358
+ return this.setOption(name, parseFloat(value), AV_OPT_TYPE_FLOAT);
1359
+ }
1360
+ else {
1361
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1362
+ }
1363
+ case AV_OPT_TYPE_DOUBLE:
1364
+ if (typeof value === 'number') {
1365
+ return this.setOption(name, value, AV_OPT_TYPE_DOUBLE);
1366
+ }
1367
+ else if (typeof value === 'boolean') {
1368
+ return this.setOption(name, value ? 1.0 : 0.0, AV_OPT_TYPE_DOUBLE);
1369
+ }
1370
+ else if (typeof value === 'bigint') {
1371
+ return this.setOption(name, Number(value), AV_OPT_TYPE_DOUBLE);
1372
+ }
1373
+ else if (typeof value === 'string') {
1374
+ return this.setOption(name, parseFloat(value), AV_OPT_TYPE_DOUBLE);
1375
+ }
1376
+ else {
1377
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1378
+ }
1379
+ case AV_OPT_TYPE_BOOL:
1380
+ if (typeof value === 'boolean') {
1381
+ return this.setOption(name, value, AV_OPT_TYPE_BOOL);
1382
+ }
1383
+ else if (typeof value === 'number') {
1384
+ return this.setOption(name, value !== 0, AV_OPT_TYPE_BOOL);
1385
+ }
1386
+ else if (typeof value === 'bigint') {
1387
+ return this.setOption(name, value !== 0n, AV_OPT_TYPE_BOOL);
1388
+ }
1389
+ else if (typeof value === 'string') {
1390
+ // Parse string as boolean (1/true/yes/on = true, everything else = false)
1391
+ const str = value.toLowerCase();
1392
+ return this.setOption(name, str === '1' || str === 'true' || str === 'yes' || str === 'on', AV_OPT_TYPE_BOOL);
1393
+ }
1394
+ else {
1395
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1396
+ }
1397
+ case AV_OPT_TYPE_STRING:
1398
+ if (typeof value === 'string') {
1399
+ return this.setOption(name, value, AV_OPT_TYPE_STRING);
1400
+ }
1401
+ else if (typeof value === 'object') {
1402
+ return this.setOption(name, JSON.stringify(value), AV_OPT_TYPE_STRING);
1403
+ }
1404
+ else {
1405
+ return this.setOption(name, String(value), AV_OPT_TYPE_STRING);
1406
+ }
1407
+ case AV_OPT_TYPE_COLOR:
1408
+ if (typeof value === 'string') {
1409
+ return this.setOption(name, value, AV_OPT_TYPE_COLOR);
1410
+ }
1411
+ else if (typeof value === 'object') {
1412
+ return this.setOption(name, JSON.stringify(value), AV_OPT_TYPE_COLOR);
1413
+ }
1414
+ else {
1415
+ return this.setOption(name, String(value), AV_OPT_TYPE_COLOR);
1416
+ }
1417
+ case AV_OPT_TYPE_RATIONAL:
1418
+ case AV_OPT_TYPE_VIDEO_RATE:
1419
+ if (typeof value === 'object' && 'num' in value && 'den' in value) {
1420
+ return this.setOption(name, value, AV_OPT_TYPE_RATIONAL);
1421
+ }
1422
+ else if (typeof value === 'string') {
1423
+ // Try to parse "30/1" or "30:1" format
1424
+ const match = /^(\d+)[/:](\d+)$/.exec(value);
1425
+ if (match) {
1426
+ return this.setOption(name, { num: parseInt(match[1], 10), den: parseInt(match[2], 10) }, AV_OPT_TYPE_RATIONAL);
1427
+ }
1428
+ // Fallback to string (let FFmpeg parse it)
1429
+ return this.setOption(name, value, AV_OPT_TYPE_STRING);
1430
+ }
1431
+ else {
1432
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1433
+ }
1434
+ // Image size type - handle all input types
1435
+ case AV_OPT_TYPE_IMAGE_SIZE:
1436
+ if (typeof value === 'object' && 'width' in value && 'height' in value) {
1437
+ return this.setOption(name, value, AV_OPT_TYPE_IMAGE_SIZE);
1438
+ }
1439
+ else if (typeof value === 'string') {
1440
+ // Try to parse "1920x1080" format
1441
+ const match = /^(\d+)x(\d+)$/.exec(value);
1442
+ if (match) {
1443
+ return this.setOption(name, { width: parseInt(match[1], 10), height: parseInt(match[2], 10) }, AV_OPT_TYPE_IMAGE_SIZE);
1444
+ }
1445
+ // Fallback to string (let FFmpeg parse it)
1446
+ return this.setOption(name, value, AV_OPT_TYPE_STRING);
1447
+ }
1448
+ else {
1449
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1450
+ }
1451
+ // Pixel/Sample format types - handle all input types
1452
+ case AV_OPT_TYPE_PIXEL_FMT:
1453
+ if (typeof value === 'number') {
1454
+ return this.setOption(name, value, AV_OPT_TYPE_PIXEL_FMT);
1455
+ }
1456
+ else if (typeof value === 'bigint') {
1457
+ return this.setOption(name, Number(value), AV_OPT_TYPE_PIXEL_FMT);
1458
+ }
1459
+ else if (typeof value === 'string') {
1460
+ return this.setOption(name, avGetPixFmtFromName(value), AV_OPT_TYPE_PIXEL_FMT);
1461
+ }
1462
+ else {
1463
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1464
+ }
1465
+ case AV_OPT_TYPE_SAMPLE_FMT:
1466
+ if (typeof value === 'number') {
1467
+ return this.setOption(name, value, AV_OPT_TYPE_SAMPLE_FMT);
1468
+ }
1469
+ else if (typeof value === 'bigint') {
1470
+ return this.setOption(name, Number(value), AV_OPT_TYPE_SAMPLE_FMT);
1471
+ }
1472
+ else if (typeof value === 'string') {
1473
+ return this.setOption(name, avGetSampleFmtFromName(value), AV_OPT_TYPE_SAMPLE_FMT);
1474
+ }
1475
+ else {
1476
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1477
+ }
1478
+ // Binary type - handle all input types
1479
+ case AV_OPT_TYPE_BINARY:
1480
+ if (Buffer.isBuffer(value)) {
1481
+ return this.setOption(name, value, AV_OPT_TYPE_BINARY);
1482
+ }
1483
+ else if (typeof value === 'string') {
1484
+ return this.setOption(name, Buffer.from(value), AV_OPT_TYPE_BINARY);
1485
+ }
1486
+ else {
1487
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1488
+ }
1489
+ // Binary int array type - handle all input types
1490
+ case AV_OPT_TYPE_BINARY_INT_ARRAY:
1491
+ if (Array.isArray(value)) {
1492
+ // Convert all elements to numbers
1493
+ return this.setOption(name, value.map((v) => (typeof v === 'number' ? v : Number(v))), AV_OPT_TYPE_BINARY_INT_ARRAY);
1494
+ }
1495
+ else if (typeof value === 'string') {
1496
+ // Parse comma-separated values "1,2,3" → [1, 2, 3]
1497
+ const arr = value.split(',').map((s) => parseInt(s.trim(), 10));
1498
+ return this.setOption(name, arr, AV_OPT_TYPE_BINARY_INT_ARRAY);
1499
+ }
1500
+ else if (typeof value === 'number') {
1501
+ // Single number → single-element array
1502
+ return this.setOption(name, [value], AV_OPT_TYPE_BINARY_INT_ARRAY);
1503
+ }
1504
+ else if (typeof value === 'bigint') {
1505
+ // Single bigint → single-element array
1506
+ return this.setOption(name, [Number(value)], AV_OPT_TYPE_BINARY_INT_ARRAY);
1507
+ }
1508
+ else if (typeof value === 'boolean') {
1509
+ // Boolean → single-element array
1510
+ return this.setOption(name, [value ? 1 : 0], AV_OPT_TYPE_BINARY_INT_ARRAY);
1511
+ }
1512
+ else {
1513
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1514
+ }
1515
+ // Dictionary type - handle all input types
1516
+ case AV_OPT_TYPE_DICT:
1517
+ if (value instanceof Dictionary) {
1518
+ return this.setOption(name, value, AV_OPT_TYPE_DICT);
1519
+ }
1520
+ else if (typeof value === 'object' && !Array.isArray(value)) {
1521
+ // Convert plain object to Dictionary
1522
+ const dict = Dictionary.fromObject(value);
1523
+ return this.setOption(name, dict, AV_OPT_TYPE_DICT);
1524
+ }
1525
+ else {
1526
+ return FFmpegError.AVERROR(PosixError.EINVAL);
1527
+ }
1528
+ // Unknown type - fallback to string
1529
+ default:
1530
+ if (typeof value === 'string') {
1531
+ return this.setOption(name, value, AV_OPT_TYPE_STRING);
1532
+ }
1533
+ else if (typeof value === 'object') {
1534
+ return this.setOption(name, JSON.stringify(value), AV_OPT_TYPE_STRING);
1535
+ }
1536
+ else {
1537
+ return this.setOption(name, String(value), AV_OPT_TYPE_STRING);
1538
+ }
1539
+ }
1540
+ }
1541
+ else {
1542
+ // Option not found - fallback to string (for private/undocumented options)
1543
+ if (typeof value === 'string') {
1544
+ return this.setOption(name, value, AV_OPT_TYPE_STRING);
1545
+ }
1546
+ else if (typeof value === 'object') {
1547
+ return this.setOption(name, JSON.stringify(value), AV_OPT_TYPE_STRING);
1548
+ }
1549
+ else {
1550
+ return this.setOption(name, String(value), AV_OPT_TYPE_STRING);
1551
+ }
1552
+ }
1553
+ }
1185
1554
  }
1186
1555
  //# sourceMappingURL=option.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"option.js","sourceRoot":"","sources":["../../src/lib/option.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"option.js","sourceRoot":"","sources":["../../src/lib/option.ts"],"names":[],"mappings":"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"}