# FrameSequencer

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

Defined in: [sequencer.ts:149](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L149)

One track's frame sequencer. Feed it the subscription's events, then `poll()` for frames.

## Properties

### stats

```ts
readonly stats: Readonly<FrameSequencerStats>;
```

Defined in: [sequencer.ts:166](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L166)

Counters.

***

### trackProperties

```ts
trackProperties: readonly KeyValuePair[];
```

Defined in: [sequencer.ts:151](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L151)

The track properties used to read timestamps; set from each SUBSCRIBE_OK.

## Methods

### groupEnded()

```ts
groupEnded(groupId): void;
```

Defined in: [sequencer.ts:155](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L155)

A group's stream ended cleanly: no further objects of it will come.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `groupId` | `number` |

#### Returns

`void`

***

### groupReset()

```ts
groupReset(groupId): void;
```

Defined in: [sequencer.ts:157](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L157)

A group's stream was reset: its remaining objects will not come.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `groupId` | `number` |

#### Returns

`void`

***

### object()

```ts
object(object): void;
```

Defined in: [sequencer.ts:153](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L153)

An object arrived.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `object` | [`MoqtObject`](https://www.caprid.com/docs/reference/typescript/caprid/relay/index/interfaces/moqtobject/) |

#### Returns

`void`

***

### poll()

```ts
poll(maxFrames?): SequencerPoll;
```

Defined in: [sequencer.ts:164](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L164)

Take the frames that are ready, at most `maxFrames` (default all), and when to poll again. A reader that cannot
take frames as they come polls one at a time, so each is judged late when it is taken.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `maxFrames?` | `number` |

#### Returns

[`SequencerPoll`](https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/sequencerpoll/)

***

### restart()

```ts
restart(): void;
```

Defined in: [sequencer.ts:159](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/sequencer.ts#L159)

The subscription was replaced (a Restart or a Move): forget everything and reset the clock; group IDs start over.

#### Returns

`void`
