# AudioInputJoinPhases

URL: https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/audioinputjoinphases/

Defined in: [audio-player.ts:229](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L229)

When each step of an input's start happened, in microseconds on its clock's time source (`performance.now()` without
a clock, or with a playout clock left at its default); `null` until it happens. The object is updated in place.

## Properties

### addedUs

```ts
addedUs: number;
```

Defined in: [audio-player.ts:231](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L231)

`addInput` returned: the worklet node exists, and with loss concealment the libopus decoder.

***

### firstAudibleUs

```ts
firstAudibleUs: number | null;
```

Defined in: [audio-player.ts:239](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L239)

When that first sample reaches the speaker: `firstPlayUs` plus the output delay (as clock reports count it).

***

### firstDecodedUs

```ts
firstDecodedUs: number | null;
```

Defined in: [audio-player.ts:235](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L235)

The first decoded audio was handed to the worklet.

***

### firstPlayUs

```ts
firstPlayUs: number | null;
```

Defined in: [audio-player.ts:237](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L237)

When the worklet started playing for the first time: the render time of that quantum's first sample.

***

### firstPushUs

```ts
firstPushUs: number | null;
```

Defined in: [audio-player.ts:233](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L233)

The first frame was pushed.
