Merge branch 'main' into metadata

This commit is contained in:
Vanilagy
2025-09-03 21:34:14 +02:00
6 changed files with 20 additions and 21 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
While Mediabunny is proudly human-coded, we want to encourage any and all usage of Mediabunny, even when the vibes are high.
Mediabunny is still new and is unlikely to be in the training data of modern LLMs, but we can still make the AI perform extremely well but just giving it a little more context.
Mediabunny is still new and is unlikely to be in the training data of modern LLMs, but we can still make the AI perform extremely well by just giving it a little more context.
---
+1
View File
@@ -191,6 +191,7 @@ const initMediaPlayer = async (resource: File | string) => {
if (!videoSink) {
// If there's only an audio track, always show the controls
controlsElement.style.opacity = '1';
controlsElement.style.pointerEvents = '';
playerContainer.style.cursor = '';
}
} catch (error) {
+6 -6
View File
@@ -1,12 +1,12 @@
{
"name": "mediabunny",
"version": "1.13.1",
"version": "1.13.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mediabunny",
"version": "1.13.1",
"version": "1.13.2",
"license": "MPL-2.0",
"workspaces": [
"packages/*"
@@ -7749,9 +7749,9 @@
}
},
"node_modules/mediabunny": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.13.0.tgz",
"integrity": "sha512-eAtCVOzceN3VkExQmYrDB+3bM6d98PfB6AhgueojYG6T5SNzc4cRR2gWm0oZ1HjhNN0J4hjtvtEpJ+AAMXF/dQ==",
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.13.1.tgz",
"integrity": "sha512-Fht/ujfoS0jt8s9W4zDEilnWVsafkBaiIQ5BX0x1tdvM4PClexgYIWDZSf6kC82/c9Bo3ehZPIIfS3aJ9younA==",
"license": "MPL-2.0",
"peer": true,
"workspaces": [
@@ -12242,7 +12242,7 @@
},
"packages/mp3-encoder": {
"name": "@mediabunny/mp3-encoder",
"version": "1.13.1",
"version": "1.13.2",
"license": "MPL-2.0",
"devDependencies": {
"@types/emscripten": "^1.40.1"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "mediabunny",
"author": "Vanilagy",
"version": "1.13.1",
"version": "1.13.2",
"description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.",
"type": "module",
"workspaces": [
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@mediabunny/mp3-encoder",
"author": "Vanilagy",
"version": "1.13.1",
"version": "1.13.2",
"description": "MP3 encoder extension for Mediabunny, based on LAME.",
"main": "./dist/bundles/mediabunny-mp3-encoder.mjs",
"module": "./dist/bundles/mediabunny-mp3-encoder.mjs",
+10 -12
View File
@@ -88,9 +88,7 @@ export class Mp3Demuxer extends Demuxer {
}
}
const startPos = this.lastLoadedPos;
const result = await readNextFrameHeader(this.reader, startPos, this.reader.fileSize);
const result = await readNextFrameHeader(this.reader, this.lastLoadedPos, this.reader.fileSize);
if (!result) {
this.lastSampleLoaded = true;
return;
@@ -102,16 +100,16 @@ export class Mp3Demuxer extends Demuxer {
const xingOffset = getXingOffset(header.mpegVersionId, header.channel);
let slice = this.reader.requestSlice(startPos + xingOffset, 4);
let slice = this.reader.requestSlice(result.startPos + xingOffset, 4);
if (slice instanceof Promise) slice = await slice;
assert(slice);
if (slice) {
const word = readU32Be(slice);
const isXing = word === XING || word === INFO;
const word = readU32Be(slice);
const isXing = word === XING || word === INFO;
if (isXing) {
// There's no actual audio data in this frame, so let's skip it
return;
if (isXing) {
// There's no actual audio data in this frame, so let's skip it
return;
}
}
if (!this.firstFrameHeader) {
@@ -122,7 +120,7 @@ export class Mp3Demuxer extends Demuxer {
const sample: Sample = {
timestamp: this.nextTimestampInSamples / header.sampleRate,
duration: sampleDuration,
dataStart: startPos,
dataStart: result.startPos,
dataSize: header.totalSize,
};