mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-01 04:43:51 +02:00
Add metadata tests, fix a few bugs
This commit is contained in:
+12
-12
@@ -334,40 +334,40 @@ export class OggDemuxer extends Demuxer {
|
||||
case 'TRACKNUMBER': {
|
||||
const parts = value.split('/');
|
||||
const trackNum = Number.parseInt(parts[0]!, 10);
|
||||
const trackNumMax = parts[1] && Number.parseInt(parts[1], 10);
|
||||
const tracksTotal = parts[1] && Number.parseInt(parts[1], 10);
|
||||
|
||||
if (Number.isInteger(trackNum) && trackNum > 0) {
|
||||
this.metadataTags.trackNumber ??= trackNum;
|
||||
}
|
||||
if (trackNumMax && Number.isInteger(trackNumMax) && trackNumMax > 0) {
|
||||
this.metadataTags.tracksTotal ??= trackNumMax;
|
||||
if (tracksTotal && Number.isInteger(tracksTotal) && tracksTotal > 0) {
|
||||
this.metadataTags.tracksTotal ??= tracksTotal;
|
||||
}
|
||||
}; break;
|
||||
|
||||
case 'TRACKTOTAL': {
|
||||
const trackNumMax = Number.parseInt(value, 10);
|
||||
if (Number.isInteger(trackNumMax) && trackNumMax > 0) {
|
||||
this.metadataTags.tracksTotal ??= trackNumMax;
|
||||
const tracksTotal = Number.parseInt(value, 10);
|
||||
if (Number.isInteger(tracksTotal) && tracksTotal > 0) {
|
||||
this.metadataTags.tracksTotal ??= tracksTotal;
|
||||
}
|
||||
}; break;
|
||||
|
||||
case 'DISCNUMBER': {
|
||||
const parts = value.split('/');
|
||||
const discNum = Number.parseInt(parts[0]!, 10);
|
||||
const discNumMax = parts[1] && Number.parseInt(parts[1], 10);
|
||||
const discsTotal = parts[1] && Number.parseInt(parts[1], 10);
|
||||
|
||||
if (Number.isInteger(discNum) && discNum > 0) {
|
||||
this.metadataTags.discNumber ??= discNum;
|
||||
}
|
||||
if (discNumMax && Number.isInteger(discNumMax) && discNumMax > 0) {
|
||||
this.metadataTags.discsTotal ??= discNumMax;
|
||||
if (discsTotal && Number.isInteger(discsTotal) && discsTotal > 0) {
|
||||
this.metadataTags.discsTotal ??= discsTotal;
|
||||
}
|
||||
}; break;
|
||||
|
||||
case 'DISCTOTAL': {
|
||||
const trackNumMax = Number.parseInt(value, 10);
|
||||
if (Number.isInteger(trackNumMax) && trackNumMax > 0) {
|
||||
this.metadataTags.tracksTotal ??= trackNumMax;
|
||||
const discsTotal = Number.parseInt(value, 10);
|
||||
if (Number.isInteger(discsTotal) && discsTotal > 0) {
|
||||
this.metadataTags.discsTotal ??= discsTotal;
|
||||
}
|
||||
}; break;
|
||||
|
||||
|
||||
@@ -334,21 +334,21 @@ export class OggMuxer extends Muxer {
|
||||
}; break;
|
||||
|
||||
case 'trackNumber': {
|
||||
addCommentTag('DISCNUMBER', value.toString());
|
||||
}; break;
|
||||
|
||||
case 'tracksTotal': {
|
||||
addCommentTag('DISCTOTAL', value.toString());
|
||||
}; break;
|
||||
|
||||
case 'discNumber': {
|
||||
addCommentTag('TRACKNUMBER', value.toString());
|
||||
}; break;
|
||||
|
||||
case 'discsTotal': {
|
||||
case 'tracksTotal': {
|
||||
addCommentTag('TRACKTOTAL', value.toString());
|
||||
}; break;
|
||||
|
||||
case 'discNumber': {
|
||||
addCommentTag('DISCNUMBER', value.toString());
|
||||
}; break;
|
||||
|
||||
case 'discsTotal': {
|
||||
addCommentTag('DISCTOTAL', value.toString());
|
||||
}; break;
|
||||
|
||||
case 'images': {
|
||||
for (const image of value) {
|
||||
// https://datatracker.ietf.org/doc/rfc9639/ Section 8.8
|
||||
|
||||
Reference in New Issue
Block a user