> **Experimental**
>
> `@aws-cdk/aws-medialive-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# FailoverCondition

A condition that, when met on the active input, triggers automatic input failover to the secondary input.

Create conditions with the static factory methods.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/input-attachment.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0-alpha.0/packages/@aws-cdk/aws-medialive-alpha/lib/input-attachment.ts#L250)

## Example

```ts
declare const stack: Stack;
declare const primaryInput: medialive.IInput;
declare const secondaryInput: medialive.IInput;
declare const audioSelector: medialive.AudioSelector;
declare const video: medialive.EncodeConfiguration;
declare const audio: medialive.EncodeConfiguration;
declare const bucket: s3.IBucket;

new medialive.Channel(stack, 'Channel', {
  inputs: [{
    input: primaryInput,
    automaticInputFailover: {
      secondaryInput,
      inputPreference: medialive.InputPreference.PRIMARY_INPUT_PREFERRED,
      errorClearTime: Duration.seconds(3),
      failoverConditions: [
        medialive.FailoverCondition.inputLoss({ threshold: Duration.millis(1500) }),
        medialive.FailoverCondition.audioSilence({ audioSelector, threshold: Duration.seconds(2) }),
        medialive.FailoverCondition.videoBlack({ blackDetectThreshold: 0.1, threshold: Duration.seconds(1) }),
      ],
    },
  }, {
    // The secondary input must also be attached to the channel as its own input.
    input: secondaryInput,
  }],
  outputGroups: [
    medialive.OutputGroupConfiguration.hls({
      name: 'hls',
      destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
      outputs: [{ encodes: [video, audio], outputName: 'hls_out' }],
    }),
  ],
});
```

## Initializer

```ts
new FailoverCondition()
```

## Methods

- `audioSilence(props: AudioSilenceFailoverProps): FailoverCondition // chainable` (static) — Fail over when the monitored audio selector is silent for the threshold period.

- `inputLoss(props?: InputLossFailoverProps): FailoverCondition // chainable` (static) — Fail over when no input is detected for the threshold period.

- `videoBlack(props?: VideoBlackFailoverProps): FailoverCondition // chainable` (static) — Fail over when the content is black for the threshold period.
