@@ -2,7 +2,7 @@ import fs from 'node:fs';
22
33import * as mm from '../lib/index.js' ;
44import type { IAudioMetadata , IOptions } from '../lib/index.js' ;
5- import { makeReadableByteFileStream } from './util.js' ;
5+ import { makeByteReadableStreamFromFile , makeDefaultReadableStreamFromFile } from './util.js' ;
66
77type ParseFileMethod = ( skipTest : ( ) => void , filePath : string , mimeType ?: string , options ?: IOptions ) => Promise < IAudioMetadata > ;
88
@@ -36,10 +36,21 @@ export const Parsers: IParser[] = [
3636 }
3737 }
3838 } , {
39- description : 'parseWebStream' ,
39+ description : 'parseWebStream from byte ReadableStream ' ,
4040 webStream : true ,
4141 parse : async ( skipTest , filePath : string , mimeType ?: string , options ?: IOptions ) => {
42- const webStream = await makeReadableByteFileStream ( filePath ) ;
42+ const webStream = await makeByteReadableStreamFromFile ( filePath ) ;
43+ try {
44+ return await mm . parseWebStream ( webStream . stream , { mimeType : mimeType , size : webStream . fileSize } , options ) ;
45+ } finally {
46+ await webStream . stream . cancel ( ) ;
47+ }
48+ }
49+ } , {
50+ description : 'parseWebStream from default ReadableStream' ,
51+ webStream : true ,
52+ parse : async ( skipTest , filePath : string , mimeType ?: string , options ?: IOptions ) => {
53+ const webStream = await makeDefaultReadableStreamFromFile ( filePath ) ;
4354 try {
4455 return await mm . parseWebStream ( webStream . stream , { mimeType : mimeType , size : webStream . fileSize } , options ) ;
4556 } finally {
0 commit comments