---
title: SetAvailableStreamFormats
framework: VideoDriverKit
role: symbol
role_heading: Instance Method
platforms: [driverkit 27.0+]
path: videodriverkit/iouservideostream/setavailablestreamformats
---

# SetAvailableStreamFormats

Sets the available descriptions for the stream.

## Declaration

```occ
kern_return_t SetAvailableStreamFormats(const IOUserVideoStreamBasicDescription *in_formats, uint32_t in_num_formats);
```

## Parameters

- `in_formats`: Pointer to a buffer of descriptions, with a size corresponding to in_num_formats.
- `in_num_formats`: The number of formats in the in_formats buffer.

## Discussion

Discussion Changing the available formats will send a notification to the host to update the object state if successful. The object’s work queue synchronizes access to the stream formats.

## See Also

### Working with stream formats

- [SetCurrentStreamFormat](videodriverkit/iouservideostream/setcurrentstreamformat.md)
- [GetCurrentStreamFormat](videodriverkit/iouservideostream/getcurrentstreamformat.md)
- [GetAvailableStreamFormats](videodriverkit/iouservideostream/getavailablestreamformats.md)
- [GetNumberAvailableStreamFormats](videodriverkit/iouservideostream/getnumberavailablestreamformats.md)
- [IOUserVideoStreamBasicDescription](videodriverkit/videodriverkit/iouservideostreambasicdescription.md)
- [GetStreamDirection](videodriverkit/iouservideostream/getstreamdirection.md)
- [IOUserVideoStreamDirection](videodriverkit/videodriverkit/iouservideostreamdirection.md)
- [SetStreamIsActive](videodriverkit/iouservideostream/setstreamisactive.md)
- [GetStreamIsActive](videodriverkit/iouservideostream/getstreamisactive.md)
