Skip to content

Commit

Permalink
feat(adapters): adiciona eventos toggle p/ audio e video
Browse files Browse the repository at this point in the history
  • Loading branch information
guiseek committed Oct 10, 2021
1 parent 2366d4b commit f646229
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 9 deletions.
17 changes: 8 additions & 9 deletions libs/adapters/src/lib/peer.impl.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
import { DataTransferImpl } from './data-transfer.impl';
import { EventEmitterImpl } from './event-emitter.impl';
import { getPercentage } from './utils/get-percentage';
import { uuid } from './utils/uuid';
import {
Peer,
Socket,
Signaling,
PeerUiState,
SignalMessage,
} from '@webp2p/ports';
import { DataTransferImpl } from './data-transfer.impl';

export function uuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = (Math.random() * 16) | 0;
const v = c == 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}

export class PeerImpl implements Peer {
user: string;
Expand Down Expand Up @@ -311,15 +305,20 @@ export class PeerImpl implements Peer {
toggleAudio(stream: MediaStream) {
const tracks = stream.getAudioTracks();
tracks.forEach((t) => (t.enabled = !t.enabled));

this.uiState.audio = !this.uiState.audio;

const events = this.event.get('toggleAudio');
events.map((fn) => fn(this.uiState.audio));
}

toggleVideo(stream: MediaStream) {
const tracks = stream.getVideoTracks();
tracks.forEach((t) => (t.enabled = !t.enabled));

this.uiState.video = !this.uiState.video;

const events = this.event.get('toggleVideo');
events.map((fn) => fn(this.uiState.video));
}

toggle(stream: MediaStream, kind: keyof PeerUiState = 'video') {
Expand Down
7 changes: 7 additions & 0 deletions libs/adapters/src/lib/utils/uuid.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export function uuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = (Math.random() * 16) | 0;
const v = c == 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}

0 comments on commit f646229

Please sign in to comment.