mediabunny 1.43.0 → 1.43.1
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.
- package/dist/bundles/mediabunny.cjs +47 -22
- package/dist/bundles/mediabunny.min.cjs +7 -7
- package/dist/bundles/mediabunny.min.mjs +9 -9
- package/dist/bundles/mediabunny.mjs +47 -22
- package/dist/bundles/mediabunny.node.cjs +47 -22
- package/dist/modules/src/codec.d.ts.map +1 -1
- package/dist/modules/src/codec.js +15 -0
- package/dist/modules/src/isobmff/isobmff-demuxer.d.ts.map +1 -1
- package/dist/modules/src/isobmff/isobmff-demuxer.js +8 -5
- package/dist/modules/src/matroska/matroska-demuxer.d.ts.map +1 -1
- package/dist/modules/src/matroska/matroska-demuxer.js +7 -5
- package/dist/modules/src/misc.d.ts.map +1 -1
- package/dist/modules/src/misc.js +2 -0
- package/dist/modules/src/mpeg-ts/mpeg-ts-demuxer.d.ts.map +1 -1
- package/dist/modules/src/mpeg-ts/mpeg-ts-demuxer.js +11 -9
- package/dist/modules/src/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/codec.ts +31 -0
- package/src/isobmff/isobmff-demuxer.ts +7 -4
- package/src/matroska/matroska-demuxer.ts +10 -8
- package/src/misc.ts +2 -0
- package/src/mpeg-ts/mpeg-ts-demuxer.ts +16 -12
|
@@ -881,6 +881,8 @@ var Mediabunny = (() => {
|
|
|
881
881
|
return maxIndex;
|
|
882
882
|
};
|
|
883
883
|
var simplifyRational = (rational) => {
|
|
884
|
+
assert(Number.isInteger(rational.num));
|
|
885
|
+
assert(Number.isInteger(rational.den));
|
|
884
886
|
assert(rational.den !== 0);
|
|
885
887
|
let a = Math.abs(rational.num);
|
|
886
888
|
let b = Math.abs(rational.den);
|
|
@@ -2069,6 +2071,21 @@ var Mediabunny = (() => {
|
|
|
2069
2071
|
"Video chunk metadata decoder configuration must specify a valid codedHeight (positive integer)."
|
|
2070
2072
|
);
|
|
2071
2073
|
}
|
|
2074
|
+
if (metadata.decoderConfig.displayAspectWidth !== void 0 && (!Number.isInteger(metadata.decoderConfig.displayAspectWidth) || metadata.decoderConfig.displayAspectWidth <= 0)) {
|
|
2075
|
+
throw new TypeError(
|
|
2076
|
+
"Video chunk metadata decoder configuration displayAspectWidth, when defined, must be a positive integer."
|
|
2077
|
+
);
|
|
2078
|
+
}
|
|
2079
|
+
if (metadata.decoderConfig.displayAspectHeight !== void 0 && (!Number.isInteger(metadata.decoderConfig.displayAspectHeight) || metadata.decoderConfig.displayAspectHeight <= 0)) {
|
|
2080
|
+
throw new TypeError(
|
|
2081
|
+
"Video chunk metadata decoder configuration displayAspectHeight, when defined, must be a positive integer."
|
|
2082
|
+
);
|
|
2083
|
+
}
|
|
2084
|
+
if (metadata.decoderConfig.displayAspectWidth !== void 0 !== (metadata.decoderConfig.displayAspectHeight !== void 0)) {
|
|
2085
|
+
throw new TypeError(
|
|
2086
|
+
"Video chunk metadata decoder configuration must specify both displayAspectWidth and displayAspectHeight, or neither."
|
|
2087
|
+
);
|
|
2088
|
+
}
|
|
2072
2089
|
if (metadata.decoderConfig.description !== void 0) {
|
|
2073
2090
|
if (!isAllowSharedBufferSource(metadata.decoderConfig.description)) {
|
|
2074
2091
|
throw new TypeError(
|
|
@@ -6354,10 +6371,12 @@ var Mediabunny = (() => {
|
|
|
6354
6371
|
assert(track.info?.type === "video");
|
|
6355
6372
|
const num = readU32Be(slice);
|
|
6356
6373
|
const den = readU32Be(slice);
|
|
6357
|
-
if (num > den) {
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6374
|
+
if (num > 0 && den > 0) {
|
|
6375
|
+
if (num > den) {
|
|
6376
|
+
track.info.squarePixelWidth = Math.round(track.info.width * num / den);
|
|
6377
|
+
} else {
|
|
6378
|
+
track.info.squarePixelHeight = Math.round(track.info.height * den / num);
|
|
6379
|
+
}
|
|
6361
6380
|
}
|
|
6362
6381
|
}
|
|
6363
6382
|
;
|
|
@@ -9488,14 +9507,16 @@ var Mediabunny = (() => {
|
|
|
9488
9507
|
if (this.currentTrack.info.displayWidth !== null && this.currentTrack.info.displayHeight !== null) {
|
|
9489
9508
|
const num = this.currentTrack.info.displayWidth * this.currentTrack.info.height;
|
|
9490
9509
|
const den = this.currentTrack.info.displayHeight * this.currentTrack.info.width;
|
|
9491
|
-
if (num > den) {
|
|
9492
|
-
|
|
9493
|
-
this.currentTrack.info.
|
|
9494
|
-
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
this.currentTrack.info.
|
|
9498
|
-
|
|
9510
|
+
if (num > 0 && den > 0) {
|
|
9511
|
+
if (num > den) {
|
|
9512
|
+
this.currentTrack.info.squarePixelWidth = Math.round(
|
|
9513
|
+
this.currentTrack.info.width * num / den
|
|
9514
|
+
);
|
|
9515
|
+
} else {
|
|
9516
|
+
this.currentTrack.info.squarePixelHeight = Math.round(
|
|
9517
|
+
this.currentTrack.info.height * den / num
|
|
9518
|
+
);
|
|
9519
|
+
}
|
|
9499
9520
|
}
|
|
9500
9521
|
}
|
|
9501
9522
|
if (this.currentTrack.codecId === CODEC_STRING_MAP.avc) {
|
|
@@ -13711,16 +13732,20 @@ var Mediabunny = (() => {
|
|
|
13711
13732
|
const spsInfo = parseAvcSps(spsUnit);
|
|
13712
13733
|
elementaryStream.info.width = spsInfo.displayWidth;
|
|
13713
13734
|
elementaryStream.info.height = spsInfo.displayHeight;
|
|
13714
|
-
|
|
13715
|
-
|
|
13716
|
-
|
|
13717
|
-
)
|
|
13718
|
-
|
|
13719
|
-
|
|
13720
|
-
|
|
13721
|
-
|
|
13722
|
-
|
|
13723
|
-
|
|
13735
|
+
const num = spsInfo.pixelAspectRatio.num;
|
|
13736
|
+
const den = spsInfo.pixelAspectRatio.den;
|
|
13737
|
+
if (num > 0 && den > 0) {
|
|
13738
|
+
if (num > den) {
|
|
13739
|
+
elementaryStream.info.squarePixelWidth = Math.round(
|
|
13740
|
+
elementaryStream.info.width * num / den
|
|
13741
|
+
);
|
|
13742
|
+
elementaryStream.info.squarePixelHeight = elementaryStream.info.height;
|
|
13743
|
+
} else {
|
|
13744
|
+
elementaryStream.info.squarePixelWidth = elementaryStream.info.width;
|
|
13745
|
+
elementaryStream.info.squarePixelHeight = Math.round(
|
|
13746
|
+
elementaryStream.info.height * den / num
|
|
13747
|
+
);
|
|
13748
|
+
}
|
|
13724
13749
|
}
|
|
13725
13750
|
elementaryStream.info.colorSpace = {
|
|
13726
13751
|
primaries: COLOR_PRIMARIES_MAP_INVERSE[spsInfo.colourPrimaries],
|