mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-09-27 10:53:50 +02:00
Merge main into release for tag v1.35.1
This commit is contained in:
Generated
+7
-7
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "mediabunny",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mediabunny",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"license": "MPL-2.0",
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
@@ -7743,9 +7743,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mediabunny": {
|
||||
"version": "1.34.5",
|
||||
"resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.34.5.tgz",
|
||||
"integrity": "sha512-Hs31rd+ane6GQJClM77KfNnf49DenK7yRU9MC4JeHwpNIFCSww/XUoGyKleAVrylw6Snrep2Sm+BhD2CS5ARkg==",
|
||||
"version": "1.35.0",
|
||||
"resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.35.0.tgz",
|
||||
"integrity": "sha512-nDCwdkK9aWDam1+L/VnK2EWzENj5WcPAAmm6HBTXQe5FZ/Mx7uSJewTKeA1JKXpkXvSsp+7UzTsx+G7HfcwOGA==",
|
||||
"license": "MPL-2.0",
|
||||
"peer": true,
|
||||
"workspaces": [
|
||||
@@ -12069,7 +12069,7 @@
|
||||
},
|
||||
"packages/ac3": {
|
||||
"name": "@mediabunny/ac3",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"license": "MPL-2.0",
|
||||
"devDependencies": {
|
||||
"@types/emscripten": "^1.40.1"
|
||||
@@ -12084,7 +12084,7 @@
|
||||
},
|
||||
"packages/mp3-encoder": {
|
||||
"name": "@mediabunny/mp3-encoder",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"license": "MPL-2.0",
|
||||
"devDependencies": {
|
||||
"@types/emscripten": "^1.40.1"
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "mediabunny",
|
||||
"author": "Vanilagy",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.",
|
||||
"type": "module",
|
||||
"workspaces": [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@mediabunny/ac3",
|
||||
"author": "Vanilagy",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"description": "AC-3 and E-AC-3 (Dolby Digital) decoder and encoder extension for Mediabunny, based on FFmpeg.",
|
||||
"main": "./dist/bundles/mediabunny-ac3.mjs",
|
||||
"module": "./dist/bundles/mediabunny-ac3.mjs",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@mediabunny/mp3-encoder",
|
||||
"author": "Vanilagy",
|
||||
"version": "1.35.0",
|
||||
"version": "1.35.1",
|
||||
"description": "MP3 encoder extension for Mediabunny, based on LAME.",
|
||||
"main": "./dist/bundles/mediabunny-mp3-encoder.mjs",
|
||||
"module": "./dist/bundles/mediabunny-mp3-encoder.mjs",
|
||||
|
||||
@@ -726,9 +726,10 @@ export const soundSampleDescription = (
|
||||
) => {
|
||||
let version = 0;
|
||||
let contents: NestedNumberArray;
|
||||
|
||||
let sampleSizeInBits = 16;
|
||||
if ((PCM_AUDIO_CODECS as readonly AudioCodec[]).includes(trackData.track.source._codec)) {
|
||||
|
||||
const isPcmCodec = (PCM_AUDIO_CODECS as readonly AudioCodec[]).includes(trackData.track.source._codec);
|
||||
if (isPcmCodec) {
|
||||
const codec = trackData.track.source._codec as PcmAudioCodec;
|
||||
const { sampleSize } = parsePcmCodec(codec);
|
||||
sampleSizeInBits = 8 * sampleSize;
|
||||
@@ -738,6 +739,10 @@ export const soundSampleDescription = (
|
||||
}
|
||||
}
|
||||
|
||||
if (trackData.muxer.isQuickTime) {
|
||||
version = 1;
|
||||
}
|
||||
|
||||
if (version === 0) {
|
||||
contents = [
|
||||
Array(6).fill(0), // Reserved
|
||||
@@ -753,6 +758,8 @@ export const soundSampleDescription = (
|
||||
u16(0), // Sample rate (lower)
|
||||
];
|
||||
} else {
|
||||
const compressionId = isPcmCodec ? 0 : -2;
|
||||
|
||||
contents = [
|
||||
Array(6).fill(0), // Reserved
|
||||
u16(1), // Data reference index
|
||||
@@ -761,13 +768,21 @@ export const soundSampleDescription = (
|
||||
u32(0), // Vendor
|
||||
u16(trackData.info.numberOfChannels), // Number of channels
|
||||
u16(Math.min(sampleSizeInBits, 16)), // Sample size (bits)
|
||||
u16(0), // Compression ID
|
||||
i16(compressionId), // Compression ID
|
||||
u16(0), // Packet size
|
||||
u16(trackData.info.sampleRate < 2 ** 16 ? trackData.info.sampleRate : 0), // Sample rate (upper)
|
||||
u16(0), // Sample rate (lower)
|
||||
u32(1), // Samples per packet (must be 1 for uncompressed formats)
|
||||
u32(sampleSizeInBits / 8), // Bytes per packet
|
||||
u32(trackData.info.numberOfChannels * sampleSizeInBits / 8), // Bytes per frame
|
||||
isPcmCodec
|
||||
? [
|
||||
u32(1), // Samples per packet (must be 1 for uncompressed formats)
|
||||
u32(sampleSizeInBits / 8), // Bytes per packet
|
||||
u32(trackData.info.numberOfChannels * sampleSizeInBits / 8), // Bytes per frame
|
||||
]
|
||||
: [
|
||||
u32(0), // Samples per packet (don't bother, still works with 0)
|
||||
u32(0), // Bytes per packet (variable)
|
||||
u32(0), // Bytes per frame (variable)
|
||||
],
|
||||
u32(2), // Bytes per sample (constant in FFmpeg)
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user