mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-03 05:43:50 +02:00
Implement improved StreamSource, restructure source code (hah, get it?)
This commit is contained in:
@@ -15,7 +15,7 @@ import { assert, AsyncMutex, binarySearchExact, binarySearchLessOrEqual, UNDETER
|
||||
import { EncodedPacket, PLACEHOLDER_DATA } from '../packet';
|
||||
import { FrameHeader, getXingOffset, INFO, XING } from '../../shared/mp3-misc';
|
||||
import { readId3, readNextFrameHeader } from './mp3-reader';
|
||||
import { readBytes, Reader2, readU32Be } from '../reader2';
|
||||
import { readBytes, Reader, readU32Be } from '../reader2';
|
||||
|
||||
type Sample = {
|
||||
timestamp: number;
|
||||
@@ -25,7 +25,7 @@ type Sample = {
|
||||
};
|
||||
|
||||
export class Mp3Demuxer extends Demuxer {
|
||||
reader: Reader2;
|
||||
reader: Reader;
|
||||
|
||||
metadataPromise: Promise<void> | null = null;
|
||||
firstFrameHeader: FrameHeader | null = null;
|
||||
@@ -41,7 +41,7 @@ export class Mp3Demuxer extends Demuxer {
|
||||
constructor(input: Input) {
|
||||
super(input);
|
||||
|
||||
this.reader = input._reader2;
|
||||
this.reader = input._reader;
|
||||
}
|
||||
|
||||
async readMetadata() {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import { FRAME_HEADER_SIZE, FrameHeader, readFrameHeader } from '../../shared/mp3-misc';
|
||||
import { FileSlice, readAscii, Reader2, readU32Be } from '../reader2';
|
||||
import { FileSlice, readAscii, Reader, readU32Be } from '../reader2';
|
||||
|
||||
export const readId3 = (slice: FileSlice) => {
|
||||
const tag = readAscii(slice, 3);
|
||||
@@ -22,7 +22,7 @@ export const readId3 = (slice: FileSlice) => {
|
||||
return { size };
|
||||
};
|
||||
|
||||
export const readNextFrameHeader = async (reader: Reader2, startPos: number, until: number): Promise<{
|
||||
export const readNextFrameHeader = async (reader: Reader, startPos: number, until: number): Promise<{
|
||||
header: FrameHeader;
|
||||
startPos: number;
|
||||
} | null> => {
|
||||
|
||||
Reference in New Issue
Block a user