# CAMERA_I2CContextSwitch*

## Syntax

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_I2CContextSwitch(CAMERASelect camera, CAMERAContext context);`
  `CAMERAResult CAMERA_I2CContextSwitchAsync(CAMERASelect camera, CAMERAContext context, CAMERACallback callback, void *arg);`

## Arguments

camera | Camera to change the context for (`CAMERA_SELECT_IN` or `CAMERA_SELECT_OUT`).
context | Context to change.
callback | Function that is called when asynchronous processing has completed.
arg | Arguments when the callback function is invoked.

## Return Values

Returns `CAMERA_RESULT_SUCCESS` if changes were possible.

## Description

Switches the camera settings context. It is faster to switch the context than to configure settings individually.
To switch the settings for the specified camera to the specified context (A or B), you cannot set camera to `CAMERA_SELECT_NONE` or context to `CAMERA_CONTEXT_BOTH`.
Unlike `CAMERA_I2CContextSwitch`, the `CAMERA_I2CContextSwitchAsync` function will return control immediately and run asynchronously. Use callback to confirm that processing has completed.

## See Also

`CAMERASelect, CAMERAContext, CAMERACallback, CAMERAResult`

## Revision History

2007/10/12 Initial version.

CONFIDENTIAL