mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-03 22:03:49 +02:00
Add InputDisposedError throwing to PacketReader
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
// Useful in packet context? Or only for sample?
|
// Useful in packet context? Or only for sample?
|
||||||
|
|
||||||
import { PCM_AUDIO_CODECS } from './codec';
|
import { PCM_AUDIO_CODECS } from './codec';
|
||||||
|
import { InputDisposedError } from './input';
|
||||||
import { InputAudioTrack, InputTrack, InputVideoTrack } from './input-track';
|
import { InputAudioTrack, InputTrack, InputVideoTrack } from './input-track';
|
||||||
import { AudioDecoderWrapper, DecoderWrapper, PacketRetrievalOptions, PcmAudioDecoderWrapper, validatePacketRetrievalOptions, validateTimestamp, VideoDecoderWrapper } from './media-sink';
|
import { AudioDecoderWrapper, DecoderWrapper, PacketRetrievalOptions, PcmAudioDecoderWrapper, validatePacketRetrievalOptions, validateTimestamp, VideoDecoderWrapper } from './media-sink';
|
||||||
import { assert, AsyncMutex4, AsyncMutexLock, CallSerializer2, defer, insertSorted, isFirefox, last, MaybePromise, polyfillSymbolDispose, promiseWithResolvers, ResultValue, Rotation, Yo } from './misc';
|
import { assert, AsyncMutex4, AsyncMutexLock, CallSerializer2, defer, insertSorted, isFirefox, last, MaybePromise, polyfillSymbolDispose, promiseWithResolvers, ResultValue, Rotation, Yo } from './misc';
|
||||||
@@ -41,6 +42,10 @@ export class PacketReader<T extends InputTrack = InputTrack> {
|
|||||||
readFirst(options: PacketRetrievalOptions = {}): MaybePromise<EncodedPacket | null> {
|
readFirst(options: PacketRetrievalOptions = {}): MaybePromise<EncodedPacket | null> {
|
||||||
validatePacketRetrievalOptions(options);
|
validatePacketRetrievalOptions(options);
|
||||||
|
|
||||||
|
if (this.track.input._disposed) {
|
||||||
|
throw new InputDisposedError();
|
||||||
|
}
|
||||||
|
|
||||||
const result = new ResultValue<EncodedPacket | null>();
|
const result = new ResultValue<EncodedPacket | null>();
|
||||||
const promise = this.track._backing.getFirstPacket(result, options);
|
const promise = this.track._backing.getFirstPacket(result, options);
|
||||||
|
|
||||||
@@ -55,6 +60,10 @@ export class PacketReader<T extends InputTrack = InputTrack> {
|
|||||||
validateTimestamp(timestamp);
|
validateTimestamp(timestamp);
|
||||||
validatePacketRetrievalOptions(options);
|
validatePacketRetrievalOptions(options);
|
||||||
|
|
||||||
|
if (this.track.input._disposed) {
|
||||||
|
throw new InputDisposedError();
|
||||||
|
}
|
||||||
|
|
||||||
const result = new ResultValue<EncodedPacket | null>();
|
const result = new ResultValue<EncodedPacket | null>();
|
||||||
const promise = this.track._backing.getPacket(result, timestamp, options);
|
const promise = this.track._backing.getPacket(result, timestamp, options);
|
||||||
|
|
||||||
@@ -69,6 +78,10 @@ export class PacketReader<T extends InputTrack = InputTrack> {
|
|||||||
validateTimestamp(timestamp);
|
validateTimestamp(timestamp);
|
||||||
validatePacketRetrievalOptions(options);
|
validatePacketRetrievalOptions(options);
|
||||||
|
|
||||||
|
if (this.track.input._disposed) {
|
||||||
|
throw new InputDisposedError();
|
||||||
|
}
|
||||||
|
|
||||||
if (options.verifyKeyPackets) {
|
if (options.verifyKeyPackets) {
|
||||||
return this.readKeyAtVerified(timestamp, options);
|
return this.readKeyAtVerified(timestamp, options);
|
||||||
}
|
}
|
||||||
@@ -111,6 +124,10 @@ export class PacketReader<T extends InputTrack = InputTrack> {
|
|||||||
}
|
}
|
||||||
validatePacketRetrievalOptions(options);
|
validatePacketRetrievalOptions(options);
|
||||||
|
|
||||||
|
if (this.track.input._disposed) {
|
||||||
|
throw new InputDisposedError();
|
||||||
|
}
|
||||||
|
|
||||||
const result = new ResultValue<EncodedPacket | null>();
|
const result = new ResultValue<EncodedPacket | null>();
|
||||||
const promise = this.track._backing.getNextPacket(result, from, options);
|
const promise = this.track._backing.getNextPacket(result, from, options);
|
||||||
|
|
||||||
@@ -127,6 +144,10 @@ export class PacketReader<T extends InputTrack = InputTrack> {
|
|||||||
}
|
}
|
||||||
validatePacketRetrievalOptions(options);
|
validatePacketRetrievalOptions(options);
|
||||||
|
|
||||||
|
if (this.track.input._disposed) {
|
||||||
|
throw new InputDisposedError();
|
||||||
|
}
|
||||||
|
|
||||||
if (options.verifyKeyPackets) {
|
if (options.verifyKeyPackets) {
|
||||||
return this.readNextKeyVerified(from, options);
|
return this.readNextKeyVerified(from, options);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user