Clarify EBML strings are ASCII

This commit is contained in:
Vanilagy
2025-08-11 16:10:43 +02:00
parent b224ac0dc6
commit 6d447660c2
3 changed files with 7 additions and 8 deletions
+1 -1
View File
@@ -154,7 +154,7 @@ export class MatroskaInputFormat extends InputFormat {
}
}; break;
case EBMLId.DocType: {
const docType = ebmlReader.readString(size);
const docType = ebmlReader.readAsciiString(size);
if (docType !== desiredDocType) {
return false;
}
+3 -4
View File
@@ -312,8 +312,7 @@ export class EBMLWriter {
this.writer.write(this.helper.subarray(0, pos));
}
// Assumes the string is ASCII
writeString(str: string) {
writeAsciiString(str: string) {
this.writer.write(new Uint8Array(str.split('').map(x => x.charCodeAt(0))));
}
@@ -359,7 +358,7 @@ export class EBMLWriter {
this.writeUnsignedInt(data.data, size);
} else if (typeof data.data === 'string') {
this.writeVarInt(data.data.length);
this.writeString(data.data);
this.writeAsciiString(data.data);
} else if (data.data instanceof Uint8Array) {
this.writeVarInt(data.data.byteLength, data.size);
this.writer.write(data.data);
@@ -495,7 +494,7 @@ export class EBMLReader {
return value;
}
readString(length: number) {
readAsciiString(length: number) {
const { view, offset } = this.reader.getViewAndOffset(this.pos, this.pos + length);
this.pos += length;
+3 -3
View File
@@ -731,7 +731,7 @@ export class MatroskaDemuxer extends Demuxer {
switch (id) {
case EBMLId.DocType: {
this.isWebM = reader.readString(size) === 'webm';
this.isWebM = reader.readAsciiString(size) === 'webm';
}; break;
case EBMLId.Seek: {
@@ -940,7 +940,7 @@ export class MatroskaDemuxer extends Demuxer {
case EBMLId.CodecID: {
if (!this.currentTrack) break;
this.currentTrack.codecId = reader.readString(size);
this.currentTrack.codecId = reader.readAsciiString(size);
}; break;
case EBMLId.CodecPrivate: {
@@ -959,7 +959,7 @@ export class MatroskaDemuxer extends Demuxer {
case EBMLId.Language: {
if (!this.currentTrack) break;
this.currentTrack.languageCode = reader.readString(size);
this.currentTrack.languageCode = reader.readAsciiString(size);
if (!isIso639Dash2LanguageCode(this.currentTrack.languageCode)) {
this.currentTrack.languageCode = UNDETERMINED_LANGUAGE;