Skip to content

Commit

Permalink
Handle track ended properly
Browse files Browse the repository at this point in the history
  • Loading branch information
havfo committed Mar 12, 2024
1 parent c64061a commit d7f5c56
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions src/utils/mediaSender.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,20 +111,20 @@ export class MediaSender extends EventEmitter {
this.maybeAddHark();
}

public stop(local = true): void {
public stop(local = true, notifyServer = false): void {
logger.debug('stop() [local:%s, source:%s]', local, this.source);

if (!this.running) return;

this.running = false;

if (this.producer) {
this.producer.appData.remoteClosed = !local;
this.producer.appData.remoteClosed = !local && !notifyServer;
this.producer.close();
}

for (const producer of this.peerProducers.values()) {
producer.appData.remoteClosed = !local;
producer.appData.remoteClosed = !local && !notifyServer;
producer.close();
}

Expand Down Expand Up @@ -320,7 +320,6 @@ export class MediaSender extends EventEmitter {

producer.observer.on('pause', pauseListener);
producer.observer.on('resume', resumeListener);
producer.once('trackended', () => producer.close());

return producer;
}
Expand Down Expand Up @@ -368,7 +367,6 @@ export class MediaSender extends EventEmitter {

producer.observer.on('pause', pauseListener);
producer.observer.on('resume', resumeListener);
producer.once('trackended', () => producer.close());

this.peerProducingPromises.delete(peerId);

Expand All @@ -383,7 +381,7 @@ export class MediaSender extends EventEmitter {

private handleTrack(): void {
this.track?.addEventListener('ended', () => {
this.stop(false);
this.stop(false, true);
}, { once: true });
}
}

0 comments on commit d7f5c56

Please sign in to comment.