Skip to content

Commit

Permalink
save
Browse files Browse the repository at this point in the history
  • Loading branch information
balazskreith committed Feb 14, 2025
1 parent 95d7ced commit 3b996a8
Show file tree
Hide file tree
Showing 6 changed files with 349 additions and 98 deletions.
212 changes: 198 additions & 14 deletions docs/main.md

Large diffs are not rendered by default.

24 changes: 22 additions & 2 deletions src/ClientMonitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -320,11 +320,18 @@ export class ClientMonitor extends EventEmitter {
if (this.closed) return;
if (!this.bufferingSampleData) return;

const timestamp = event.timestamp ?? Date.now();
const payload = event.payload ? JSON.stringify(event.payload) : undefined;
this._clientEvents.push({
...event,
payload,
timestamp: event.timestamp ?? Date.now(),
timestamp,
});

this.emit('client-event', {
...event,
payload: event.payload,
timestamp,
});
}

Expand All @@ -351,11 +358,19 @@ export class ClientMonitor extends EventEmitter {
if (this.closed) return;
if (!this.bufferingSampleData) return;

const timestamp = metaData.timestamp ?? Date.now();

this._clientMetaItems.push({
type: metaData.type,
payload: metaData.payload ? JSON.stringify(metaData.payload) : undefined,
timestamp: metaData.timestamp ?? Date.now(),
timestamp,
});

this.emit('meta', {
...metaData,
payload: metaData.payload,
timestamp,
})
}

public addExtensionStats(stats: { type: string, payload?: Record<string, unknown>}): void {
Expand All @@ -367,6 +382,11 @@ export class ClientMonitor extends EventEmitter {
type: stats.type,
payload,
});

this.emit('extension-stats', {
...stats,
payload: stats.payload,
});
}

public addSource(source: unknown): void {
Expand Down
14 changes: 11 additions & 3 deletions src/ClientMonitorEvents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ export type ClientMetaData = {
timestamp: number,
}

export type ExtensionStat = {
type: string,
payload?: Record<string, unknown> | boolean | string | number,
}

export type ClientMonitorBaseEvent = {
clientMonitor: ClientMonitor,
}
Expand Down Expand Up @@ -64,7 +69,7 @@ export type AudioDesyncTrackEventPayload = ClientMonitorBaseEvent & {
trackMonitor: InboundTrackMonitor,
}

export type SynthesizedSamplesEventPayload = ClientMonitorBaseEvent & {
export type SynthesizedAudioEventPayload = ClientMonitorBaseEvent & {
mediaPlayoutMonitor: MediaPlayoutMonitor,
}

Expand Down Expand Up @@ -168,12 +173,15 @@ export type ClientMonitorEvents = {
"stats-collected": [StatsCollectedEventPayload],
'close': [],
'issue': [ClientIssue],
'added-client-event': [ClientEvent],
'client-event': [ClientEvent],
'meta': [ClientMetaData],
'extension-stats': [ExtensionStat],

// detector events
'congestion': [CongestionEventPayload],
'cpulimitation': [ClientMonitorBaseEvent],
'audio-desync-track': [AudioDesyncTrackEventPayload],
'synthesized-samples': [SynthesizedSamplesEventPayload],
'synthesized-audio': [SynthesizedAudioEventPayload],
'freezed-video-track': [FreezedVideoTrackEventPayload],
'dry-inbound-track': [DryInboundTrackEventPayload],
'dry-outbound-track': [DryOutboundTrackEventPayload],
Expand Down
2 changes: 1 addition & 1 deletion src/detectors/SynthesizedSamplesDetector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export class SynthesizedSamplesDetector implements Detector {

const clientMonitor = this.peerConnection.parent;

clientMonitor.emit('synthesized-samples', {
clientMonitor.emit('synthesized-audio', {
mediaPlayoutMonitor: this.mediaPlayout,
clientMonitor: clientMonitor,
});
Expand Down
22 changes: 21 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ export { PeerConnectionTransportMonitor } from "./monitors/PeerConnectionTranspo
export { RemoteInboundRtpMonitor } from "./monitors/RemoteInboundRtpMonitor";
export { RemoteOutboundRtpMonitor } from "./monitors/RemoteOutboundRtpMonitor";
export type { TrackMonitor } from "./monitors/TrackMonitor";

export {
ClientMonitor,
} from "./ClientMonitor";
Expand All @@ -28,13 +27,34 @@ export type {
ClientMetaData,
SampleCreatedEventPayload,
StatsCollectedEventPayload,
SynthesizedAudioEventPayload,
InboundVideoPlayoutDiscrepancyEventPayload,
CongestionEventPayload,
AudioDesyncTrackEventPayload,
FreezedVideoTrackEventPayload,
DryInboundTrackEventPayload,
DryOutboundTrackEventPayload,
IceTupleChangedEventPayload,
TooLongPcConnectionEstablishmentEventPayload,
ScoreEventPayload,
ClientMonitorEvents,

NewCertificateMonitorEventPayload,
NewCodecMonitorEventPayload,
NewDataChannelMonitorEventPayload,
NewIceCandidateMonitorPayload,
NewIceCandidatePairMonitorEventPayload,
NewIceTransportMonitorEventPayload,
NewInboundRtpMonitorEventPayload,
NewInboundTrackMonitorEventPayload,
NewMediaPlayoutMonitorEventPayload,
NewMediaSourceMonitorEventPayload,
NewOutboundRtpMonitorEventPayload,
NewOutboundTrackMonitorEventPayload,
NewPeerConnectionTransportMonitorEventPayload,
NewRemoteInboundRtpMonitorEventPayload,
NewRemoteOutboundRtpMonitorEventPayload,
NewPeerConnectionMonitorEventPayload,
} from "./ClientMonitorEvents";
export type {
Detector,
Expand Down
Loading

0 comments on commit 3b996a8

Please sign in to comment.