Skip to content

Commit

Permalink
Change removing/creating new p2p loader order.
Browse files Browse the repository at this point in the history
  • Loading branch information
i-zolotarenko committed Nov 24, 2023
1 parent b42d4c2 commit 969ed0e
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions packages/p2p-media-loader-core/src/p2p/loaders-container.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,13 @@ export class P2PLoadersContainer {

changeCurrentLoader(stream: StreamWithSegments) {
const loaderItem = this.loaders.get(stream.localId);
const prev = this._currentLoaderItem;
if (this._currentLoaderItem) {
const ids = this.segmentStorage.getStoredSegmentExternalIdsOfStream(
this._currentLoaderItem.stream
);
if (!ids.length) this.destroyAndRemoveLoader(this._currentLoaderItem);
else this.setLoaderDestroyTimeout(this._currentLoaderItem);
}
if (loaderItem) {
this._currentLoaderItem = loaderItem;
clearTimeout(loaderItem.destroyTimeoutId);
Expand All @@ -62,14 +68,6 @@ export class P2PLoadersContainer {
this.logger(
`change current p2p loader: ${LoggerUtils.getStreamString(stream)}`
);

if (!prev) return;

const ids = this.segmentStorage.getStoredSegmentExternalIdsOfStream(
prev.stream
);
if (!ids.length) this.destroyAndRemoveLoader(prev);
else this.setLoaderDestroyTimeout(prev);
}

private setLoaderDestroyTimeout(item: P2PLoaderContainerItem) {
Expand Down

0 comments on commit 969ed0e

Please sign in to comment.