diff --git a/dev/convert.html b/dev/convert.html
index cf6f001..7bc9ffe 100644
--- a/dev/convert.html
+++ b/dev/convert.html
@@ -24,7 +24,7 @@
chunked: true,
chunkSize: 2**20
});
- const outputFormat = new Mediabunny.WavOutputFormat({});
+ const outputFormat = new Mediabunny.Mp4OutputFormat({});
const button = document.createElement('button');
button.textContent = 'Cancel';
@@ -47,7 +47,7 @@
format: outputFormat,
target
});
- output.setMetadata({
+ output.setMetadataTags({
title: 'Bigggy',
artist: 'Buck Bunny',
images: [{
@@ -105,7 +105,8 @@
},
*/
video: () => ({
- discard: true,
+ //discard: true,
+ forceTranscode: true,
//codec: 'avc',
//fit: 'contain',
//frameRate: 27.123,
@@ -128,7 +129,7 @@
//height: 100,
}),
trim: {
- start: 0,
+ start: 1,
end: 10
},
});
diff --git a/dev/demux.html b/dev/demux.html
index 212c601..72543c6 100644
--- a/dev/demux.html
+++ b/dev/demux.html
@@ -14,12 +14,22 @@
source: new Mediabunny.BlobSource(file),
});
- const audioTrack = await input.getPrimaryAudioTrack();
- const sink = new Mediabunny.EncodedPacketSink(audioTrack);
+ const videoTrack = await input.getPrimaryVideoTrack();
+ const sink = new Mediabunny.VideoSampleSink(videoTrack);
- console.log(await audioTrack.getDecoderConfig())
- console.log(await sink.getFirstPacket());
+ console.log(await sink.getSample(await videoTrack.getFirstTimestamp()))
+ /*
+ for await (const sample of sink.samples(0.99)) {
+ console.log(sample);
+
+ if (sample.timestamp >= 2) {
+ break;
+ }
+
+ }
+ */
+ //console.log(await sink.getSample(1))
/*
const screenStream = await navigator.mediaDevices.getDisplayMedia({ video: true });
diff --git a/package-lock.json b/package-lock.json
index 88a0db1..5c23700 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "mediabunny",
- "version": "1.14.0",
+ "version": "1.14.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mediabunny",
- "version": "1.14.0",
+ "version": "1.14.1",
"license": "MPL-2.0",
"workspaces": [
"packages/*"
@@ -7749,9 +7749,9 @@
}
},
"node_modules/mediabunny": {
- "version": "1.13.3",
- "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.13.3.tgz",
- "integrity": "sha512-kV12CVwMdhMQILGrVcyDWOgnZHwAytStQYKZeEaUj32XamYhlDX0Od4SkXVr0Yms8iapJsiCoEQdSK4UKUfooA==",
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.14.0.tgz",
+ "integrity": "sha512-GaULQgUWpz5m4S7N6iNjpyLxqhpudjcSNGLC4Ni9A0A2vA6l5frBpxQJZM2JmqrN1B2BkArnCgyuTZv7ePw2vQ==",
"license": "MPL-2.0",
"peer": true,
"workspaces": [
@@ -12242,7 +12242,7 @@
},
"packages/mp3-encoder": {
"name": "@mediabunny/mp3-encoder",
- "version": "1.14.0",
+ "version": "1.14.1",
"license": "MPL-2.0",
"devDependencies": {
"@types/emscripten": "^1.40.1"
diff --git a/package.json b/package.json
index 9ff76b0..78dbbe5 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "mediabunny",
"author": "Vanilagy",
- "version": "1.14.0",
+ "version": "1.14.1",
"description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.",
"type": "module",
"workspaces": [
diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json
index 4e91b17..cf89587 100644
--- a/packages/mp3-encoder/package.json
+++ b/packages/mp3-encoder/package.json
@@ -1,7 +1,7 @@
{
"name": "@mediabunny/mp3-encoder",
"author": "Vanilagy",
- "version": "1.14.0",
+ "version": "1.14.1",
"description": "MP3 encoder extension for Mediabunny, based on LAME.",
"main": "./dist/bundles/mediabunny-mp3-encoder.mjs",
"module": "./dist/bundles/mediabunny-mp3-encoder.mjs",
diff --git a/src/conversion.ts b/src/conversion.ts
index 32d7b51..cc48e63 100644
--- a/src/conversion.ts
+++ b/src/conversion.ts
@@ -723,7 +723,7 @@ export class Conversion {
await tempOutput.start();
const sink = new VideoSampleSink(track);
- const firstSample = await sink.getSample(this._startTimestamp);
+ const firstSample = await sink.getSample(firstTimestamp); // Let's just use the first sample
if (firstSample) {
try {