Skip to content
v2.274.0

Experimental

@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

OutputLocking Class ​

Output locking synchronises the frames emitted by a channel's two pipelines. Use the static factory methods to select a strategy:.

  • OutputLocking.pipeline() — synchronise each pipeline's output to the other.
  • OutputLocking.epoch() — synchronise each pipeline's output to the Unix epoch.
  • OutputLocking.disabled() — do not synchronise pipelines.

Example ​

ts
declare const stack: Stack;
declare const input: medialive.IInput;
declare const bucket: s3.IBucket;
declare const video: medialive.EncodeConfiguration;
declare const audio: medialive.EncodeConfiguration;

new medialive.Channel(stack, 'Channel', {
  inputs: [{ input }],
  timecodeConfig: {
    source: medialive.TimecodeSource.EMBEDDED,
  },
  globalConfiguration: {
    outputLocking: medialive.OutputLocking.epoch(),
    outputTimingSource: medialive.OutputTimingSource.INPUT_CLOCK,
  },
  outputGroups: [
    medialive.OutputGroupConfiguration.hls({
      name: 'hls',
      destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
      outputs: [{ encodes: [video, audio], outputName: 'hls_out' }],
    }),
  ],
});

Initializer ​

ts
new OutputLocking()
python
OutputLocking()
java
new OutputLocking()
csharp
new OutputLocking()
go
NewOutputLocking()

Methods ​

disabled(customEpoch?: string): OutputLocking // chainable@staticmethod def disabled(custom_epoch: typing.Optional[str] = None) -> OutputLockingpublic static OutputLocking disabled(String customEpoch)public static OutputLocking Disabled(string? customEpoch = null)func Disabled(CustomEpoch *string) OutputLockingstatic#
Disable output locking (optionally with a custom epoch).
epoch(props?: EpochOutputLockingProps): OutputLocking // chainable@staticmethod def epoch(props: typing.Optional[EpochOutputLockingProps] = None) -> OutputLockingpublic static OutputLocking epoch(EpochOutputLockingProps props)public static OutputLocking Epoch(EpochOutputLockingProps? props = null)func Epoch(Props EpochOutputLockingProps) OutputLockingstatic#
Lock outputs to an epoch.
pipeline(props?: PipelineOutputLockingProps): OutputLocking // chainable@staticmethod def pipeline(props: typing.Optional[PipelineOutputLockingProps] = None) -> OutputLockingpublic static OutputLocking pipeline(PipelineOutputLockingProps props)public static OutputLocking Pipeline(PipelineOutputLockingProps? props = null)func Pipeline(Props PipelineOutputLockingProps) OutputLockingstatic#
Lock pipelines to each other.