# Frame

URL: https://www.caprid.com/docs/reference/typescript/caprid/relay/media/interfaces/frame/

Defined in: [relay-sdks/ts/src/frame-writer.ts:15](https://github.com/caprids/relay-sdks/blob/main/ts/src/frame-writer.ts#L15)

One encoded frame as the frame writer sees it. Any object with these fields qualifies, `@caprid/moq-media`'s `LocFrame`
among them, so nothing is converted between the encoder and the writer.

## Properties

### discontinuity?

```ts
readonly discontinuity?: boolean;
```

Defined in: [relay-sdks/ts/src/frame-writer.ts:23](https://github.com/caprids/relay-sdks/blob/main/ts/src/frame-writer.ts#L23)

Frames before this one were dropped, so an open group can no longer be completed and is reset.

***

### key

```ts
readonly key: boolean;
```

Defined in: [relay-sdks/ts/src/frame-writer.ts:19](https://github.com/caprids/relay-sdks/blob/main/ts/src/frame-writer.ts#L19)

A random-access point: under keyframe grouping it starts a new group.

***

### payload

```ts
readonly payload: ArrayBufferView;
```

Defined in: [relay-sdks/ts/src/frame-writer.ts:17](https://github.com/caprids/relay-sdks/blob/main/ts/src/frame-writer.ts#L17)

The object payload. Keep it unchanged until the frame's write settles.

***

### properties?

```ts
readonly properties?: readonly PublishProperty[];
```

Defined in: [relay-sdks/ts/src/frame-writer.ts:21](https://github.com/caprids/relay-sdks/blob/main/ts/src/frame-writer.ts#L21)

The object properties sent with the frame, already built (for LOC media, `locProperties`).
