{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MediaLive.Types.CaptionDestinationSettings
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MediaLive.Types.CaptionDestinationSettings where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaLive.Types.AribDestinationSettings
import Amazonka.MediaLive.Types.BurnInDestinationSettings
import Amazonka.MediaLive.Types.DvbSubDestinationSettings
import Amazonka.MediaLive.Types.EbuTtDDestinationSettings
import Amazonka.MediaLive.Types.EmbeddedDestinationSettings
import Amazonka.MediaLive.Types.EmbeddedPlusScte20DestinationSettings
import Amazonka.MediaLive.Types.RtmpCaptionInfoDestinationSettings
import Amazonka.MediaLive.Types.Scte20PlusEmbeddedDestinationSettings
import Amazonka.MediaLive.Types.Scte27DestinationSettings
import Amazonka.MediaLive.Types.SmpteTtDestinationSettings
import Amazonka.MediaLive.Types.TeletextDestinationSettings
import Amazonka.MediaLive.Types.TtmlDestinationSettings
import Amazonka.MediaLive.Types.WebvttDestinationSettings
import qualified Amazonka.Prelude as Prelude

-- | Caption Destination Settings
--
-- /See:/ 'newCaptionDestinationSettings' smart constructor.
data CaptionDestinationSettings = CaptionDestinationSettings'
  { CaptionDestinationSettings -> Maybe TeletextDestinationSettings
teletextDestinationSettings :: Prelude.Maybe TeletextDestinationSettings,
    CaptionDestinationSettings -> Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings :: Prelude.Maybe EbuTtDDestinationSettings,
    CaptionDestinationSettings
-> Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings :: Prelude.Maybe RtmpCaptionInfoDestinationSettings,
    CaptionDestinationSettings -> Maybe DvbSubDestinationSettings
dvbSubDestinationSettings :: Prelude.Maybe DvbSubDestinationSettings,
    CaptionDestinationSettings -> Maybe Scte27DestinationSettings
scte27DestinationSettings :: Prelude.Maybe Scte27DestinationSettings,
    CaptionDestinationSettings -> Maybe TtmlDestinationSettings
ttmlDestinationSettings :: Prelude.Maybe TtmlDestinationSettings,
    CaptionDestinationSettings
-> Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings :: Prelude.Maybe Scte20PlusEmbeddedDestinationSettings,
    CaptionDestinationSettings
-> Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings :: Prelude.Maybe EmbeddedPlusScte20DestinationSettings,
    CaptionDestinationSettings -> Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings :: Prelude.Maybe SmpteTtDestinationSettings,
    CaptionDestinationSettings -> Maybe WebvttDestinationSettings
webvttDestinationSettings :: Prelude.Maybe WebvttDestinationSettings,
    CaptionDestinationSettings -> Maybe EmbeddedDestinationSettings
embeddedDestinationSettings :: Prelude.Maybe EmbeddedDestinationSettings,
    CaptionDestinationSettings -> Maybe BurnInDestinationSettings
burnInDestinationSettings :: Prelude.Maybe BurnInDestinationSettings,
    CaptionDestinationSettings -> Maybe AribDestinationSettings
aribDestinationSettings :: Prelude.Maybe AribDestinationSettings
  }
  deriving (CaptionDestinationSettings -> CaptionDestinationSettings -> Bool
(CaptionDestinationSettings -> CaptionDestinationSettings -> Bool)
-> (CaptionDestinationSettings
    -> CaptionDestinationSettings -> Bool)
-> Eq CaptionDestinationSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CaptionDestinationSettings -> CaptionDestinationSettings -> Bool
$c/= :: CaptionDestinationSettings -> CaptionDestinationSettings -> Bool
== :: CaptionDestinationSettings -> CaptionDestinationSettings -> Bool
$c== :: CaptionDestinationSettings -> CaptionDestinationSettings -> Bool
Prelude.Eq, ReadPrec [CaptionDestinationSettings]
ReadPrec CaptionDestinationSettings
Int -> ReadS CaptionDestinationSettings
ReadS [CaptionDestinationSettings]
(Int -> ReadS CaptionDestinationSettings)
-> ReadS [CaptionDestinationSettings]
-> ReadPrec CaptionDestinationSettings
-> ReadPrec [CaptionDestinationSettings]
-> Read CaptionDestinationSettings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CaptionDestinationSettings]
$creadListPrec :: ReadPrec [CaptionDestinationSettings]
readPrec :: ReadPrec CaptionDestinationSettings
$creadPrec :: ReadPrec CaptionDestinationSettings
readList :: ReadS [CaptionDestinationSettings]
$creadList :: ReadS [CaptionDestinationSettings]
readsPrec :: Int -> ReadS CaptionDestinationSettings
$creadsPrec :: Int -> ReadS CaptionDestinationSettings
Prelude.Read, Int -> CaptionDestinationSettings -> ShowS
[CaptionDestinationSettings] -> ShowS
CaptionDestinationSettings -> String
(Int -> CaptionDestinationSettings -> ShowS)
-> (CaptionDestinationSettings -> String)
-> ([CaptionDestinationSettings] -> ShowS)
-> Show CaptionDestinationSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CaptionDestinationSettings] -> ShowS
$cshowList :: [CaptionDestinationSettings] -> ShowS
show :: CaptionDestinationSettings -> String
$cshow :: CaptionDestinationSettings -> String
showsPrec :: Int -> CaptionDestinationSettings -> ShowS
$cshowsPrec :: Int -> CaptionDestinationSettings -> ShowS
Prelude.Show, (forall x.
 CaptionDestinationSettings -> Rep CaptionDestinationSettings x)
-> (forall x.
    Rep CaptionDestinationSettings x -> CaptionDestinationSettings)
-> Generic CaptionDestinationSettings
forall x.
Rep CaptionDestinationSettings x -> CaptionDestinationSettings
forall x.
CaptionDestinationSettings -> Rep CaptionDestinationSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CaptionDestinationSettings x -> CaptionDestinationSettings
$cfrom :: forall x.
CaptionDestinationSettings -> Rep CaptionDestinationSettings x
Prelude.Generic)

-- |
-- Create a value of 'CaptionDestinationSettings' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'teletextDestinationSettings', 'captionDestinationSettings_teletextDestinationSettings' - Undocumented member.
--
-- 'ebuTtDDestinationSettings', 'captionDestinationSettings_ebuTtDDestinationSettings' - Undocumented member.
--
-- 'rtmpCaptionInfoDestinationSettings', 'captionDestinationSettings_rtmpCaptionInfoDestinationSettings' - Undocumented member.
--
-- 'dvbSubDestinationSettings', 'captionDestinationSettings_dvbSubDestinationSettings' - Undocumented member.
--
-- 'scte27DestinationSettings', 'captionDestinationSettings_scte27DestinationSettings' - Undocumented member.
--
-- 'ttmlDestinationSettings', 'captionDestinationSettings_ttmlDestinationSettings' - Undocumented member.
--
-- 'scte20PlusEmbeddedDestinationSettings', 'captionDestinationSettings_scte20PlusEmbeddedDestinationSettings' - Undocumented member.
--
-- 'embeddedPlusScte20DestinationSettings', 'captionDestinationSettings_embeddedPlusScte20DestinationSettings' - Undocumented member.
--
-- 'smpteTtDestinationSettings', 'captionDestinationSettings_smpteTtDestinationSettings' - Undocumented member.
--
-- 'webvttDestinationSettings', 'captionDestinationSettings_webvttDestinationSettings' - Undocumented member.
--
-- 'embeddedDestinationSettings', 'captionDestinationSettings_embeddedDestinationSettings' - Undocumented member.
--
-- 'burnInDestinationSettings', 'captionDestinationSettings_burnInDestinationSettings' - Undocumented member.
--
-- 'aribDestinationSettings', 'captionDestinationSettings_aribDestinationSettings' - Undocumented member.
newCaptionDestinationSettings ::
  CaptionDestinationSettings
newCaptionDestinationSettings :: CaptionDestinationSettings
newCaptionDestinationSettings =
  CaptionDestinationSettings' :: Maybe TeletextDestinationSettings
-> Maybe EbuTtDDestinationSettings
-> Maybe RtmpCaptionInfoDestinationSettings
-> Maybe DvbSubDestinationSettings
-> Maybe Scte27DestinationSettings
-> Maybe TtmlDestinationSettings
-> Maybe Scte20PlusEmbeddedDestinationSettings
-> Maybe EmbeddedPlusScte20DestinationSettings
-> Maybe SmpteTtDestinationSettings
-> Maybe WebvttDestinationSettings
-> Maybe EmbeddedDestinationSettings
-> Maybe BurnInDestinationSettings
-> Maybe AribDestinationSettings
-> CaptionDestinationSettings
CaptionDestinationSettings'
    { $sel:teletextDestinationSettings:CaptionDestinationSettings' :: Maybe TeletextDestinationSettings
teletextDestinationSettings =
        Maybe TeletextDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:ebuTtDDestinationSettings:CaptionDestinationSettings' :: Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings = Maybe EbuTtDDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:rtmpCaptionInfoDestinationSettings:CaptionDestinationSettings' :: Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings =
        Maybe RtmpCaptionInfoDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:dvbSubDestinationSettings:CaptionDestinationSettings' :: Maybe DvbSubDestinationSettings
dvbSubDestinationSettings = Maybe DvbSubDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:scte27DestinationSettings:CaptionDestinationSettings' :: Maybe Scte27DestinationSettings
scte27DestinationSettings = Maybe Scte27DestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:ttmlDestinationSettings:CaptionDestinationSettings' :: Maybe TtmlDestinationSettings
ttmlDestinationSettings = Maybe TtmlDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:scte20PlusEmbeddedDestinationSettings:CaptionDestinationSettings' :: Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings =
        Maybe Scte20PlusEmbeddedDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:embeddedPlusScte20DestinationSettings:CaptionDestinationSettings' :: Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings =
        Maybe EmbeddedPlusScte20DestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:smpteTtDestinationSettings:CaptionDestinationSettings' :: Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings = Maybe SmpteTtDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:webvttDestinationSettings:CaptionDestinationSettings' :: Maybe WebvttDestinationSettings
webvttDestinationSettings = Maybe WebvttDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:embeddedDestinationSettings:CaptionDestinationSettings' :: Maybe EmbeddedDestinationSettings
embeddedDestinationSettings = Maybe EmbeddedDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:burnInDestinationSettings:CaptionDestinationSettings' :: Maybe BurnInDestinationSettings
burnInDestinationSettings = Maybe BurnInDestinationSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:aribDestinationSettings:CaptionDestinationSettings' :: Maybe AribDestinationSettings
aribDestinationSettings = Maybe AribDestinationSettings
forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
captionDestinationSettings_teletextDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe TeletextDestinationSettings)
captionDestinationSettings_teletextDestinationSettings :: (Maybe TeletextDestinationSettings
 -> f (Maybe TeletextDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_teletextDestinationSettings = (CaptionDestinationSettings -> Maybe TeletextDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe TeletextDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe TeletextDestinationSettings)
     (Maybe TeletextDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe TeletextDestinationSettings
teletextDestinationSettings :: Maybe TeletextDestinationSettings
$sel:teletextDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe TeletextDestinationSettings
teletextDestinationSettings} -> Maybe TeletextDestinationSettings
teletextDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe TeletextDestinationSettings
a -> CaptionDestinationSettings
s {$sel:teletextDestinationSettings:CaptionDestinationSettings' :: Maybe TeletextDestinationSettings
teletextDestinationSettings = Maybe TeletextDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_ebuTtDDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe EbuTtDDestinationSettings)
captionDestinationSettings_ebuTtDDestinationSettings :: (Maybe EbuTtDDestinationSettings
 -> f (Maybe EbuTtDDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_ebuTtDDestinationSettings = (CaptionDestinationSettings -> Maybe EbuTtDDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe EbuTtDDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe EbuTtDDestinationSettings)
     (Maybe EbuTtDDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings :: Maybe EbuTtDDestinationSettings
$sel:ebuTtDDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings} -> Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe EbuTtDDestinationSettings
a -> CaptionDestinationSettings
s {$sel:ebuTtDDestinationSettings:CaptionDestinationSettings' :: Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings = Maybe EbuTtDDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_rtmpCaptionInfoDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe RtmpCaptionInfoDestinationSettings)
captionDestinationSettings_rtmpCaptionInfoDestinationSettings :: (Maybe RtmpCaptionInfoDestinationSettings
 -> f (Maybe RtmpCaptionInfoDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_rtmpCaptionInfoDestinationSettings = (CaptionDestinationSettings
 -> Maybe RtmpCaptionInfoDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe RtmpCaptionInfoDestinationSettings
    -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe RtmpCaptionInfoDestinationSettings)
     (Maybe RtmpCaptionInfoDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings :: Maybe RtmpCaptionInfoDestinationSettings
$sel:rtmpCaptionInfoDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings
-> Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings} -> Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe RtmpCaptionInfoDestinationSettings
a -> CaptionDestinationSettings
s {$sel:rtmpCaptionInfoDestinationSettings:CaptionDestinationSettings' :: Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings = Maybe RtmpCaptionInfoDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_dvbSubDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe DvbSubDestinationSettings)
captionDestinationSettings_dvbSubDestinationSettings :: (Maybe DvbSubDestinationSettings
 -> f (Maybe DvbSubDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_dvbSubDestinationSettings = (CaptionDestinationSettings -> Maybe DvbSubDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe DvbSubDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe DvbSubDestinationSettings)
     (Maybe DvbSubDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe DvbSubDestinationSettings
dvbSubDestinationSettings :: Maybe DvbSubDestinationSettings
$sel:dvbSubDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe DvbSubDestinationSettings
dvbSubDestinationSettings} -> Maybe DvbSubDestinationSettings
dvbSubDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe DvbSubDestinationSettings
a -> CaptionDestinationSettings
s {$sel:dvbSubDestinationSettings:CaptionDestinationSettings' :: Maybe DvbSubDestinationSettings
dvbSubDestinationSettings = Maybe DvbSubDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_scte27DestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe Scte27DestinationSettings)
captionDestinationSettings_scte27DestinationSettings :: (Maybe Scte27DestinationSettings
 -> f (Maybe Scte27DestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_scte27DestinationSettings = (CaptionDestinationSettings -> Maybe Scte27DestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe Scte27DestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe Scte27DestinationSettings)
     (Maybe Scte27DestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe Scte27DestinationSettings
scte27DestinationSettings :: Maybe Scte27DestinationSettings
$sel:scte27DestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe Scte27DestinationSettings
scte27DestinationSettings} -> Maybe Scte27DestinationSettings
scte27DestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe Scte27DestinationSettings
a -> CaptionDestinationSettings
s {$sel:scte27DestinationSettings:CaptionDestinationSettings' :: Maybe Scte27DestinationSettings
scte27DestinationSettings = Maybe Scte27DestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_ttmlDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe TtmlDestinationSettings)
captionDestinationSettings_ttmlDestinationSettings :: (Maybe TtmlDestinationSettings
 -> f (Maybe TtmlDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_ttmlDestinationSettings = (CaptionDestinationSettings -> Maybe TtmlDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe TtmlDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe TtmlDestinationSettings)
     (Maybe TtmlDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe TtmlDestinationSettings
ttmlDestinationSettings :: Maybe TtmlDestinationSettings
$sel:ttmlDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe TtmlDestinationSettings
ttmlDestinationSettings} -> Maybe TtmlDestinationSettings
ttmlDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe TtmlDestinationSettings
a -> CaptionDestinationSettings
s {$sel:ttmlDestinationSettings:CaptionDestinationSettings' :: Maybe TtmlDestinationSettings
ttmlDestinationSettings = Maybe TtmlDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_scte20PlusEmbeddedDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe Scte20PlusEmbeddedDestinationSettings)
captionDestinationSettings_scte20PlusEmbeddedDestinationSettings :: (Maybe Scte20PlusEmbeddedDestinationSettings
 -> f (Maybe Scte20PlusEmbeddedDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_scte20PlusEmbeddedDestinationSettings = (CaptionDestinationSettings
 -> Maybe Scte20PlusEmbeddedDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe Scte20PlusEmbeddedDestinationSettings
    -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe Scte20PlusEmbeddedDestinationSettings)
     (Maybe Scte20PlusEmbeddedDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings :: Maybe Scte20PlusEmbeddedDestinationSettings
$sel:scte20PlusEmbeddedDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings
-> Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings} -> Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe Scte20PlusEmbeddedDestinationSettings
a -> CaptionDestinationSettings
s {$sel:scte20PlusEmbeddedDestinationSettings:CaptionDestinationSettings' :: Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings = Maybe Scte20PlusEmbeddedDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_embeddedPlusScte20DestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe EmbeddedPlusScte20DestinationSettings)
captionDestinationSettings_embeddedPlusScte20DestinationSettings :: (Maybe EmbeddedPlusScte20DestinationSettings
 -> f (Maybe EmbeddedPlusScte20DestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_embeddedPlusScte20DestinationSettings = (CaptionDestinationSettings
 -> Maybe EmbeddedPlusScte20DestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe EmbeddedPlusScte20DestinationSettings
    -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe EmbeddedPlusScte20DestinationSettings)
     (Maybe EmbeddedPlusScte20DestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings :: Maybe EmbeddedPlusScte20DestinationSettings
$sel:embeddedPlusScte20DestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings
-> Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings} -> Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe EmbeddedPlusScte20DestinationSettings
a -> CaptionDestinationSettings
s {$sel:embeddedPlusScte20DestinationSettings:CaptionDestinationSettings' :: Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings = Maybe EmbeddedPlusScte20DestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_smpteTtDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe SmpteTtDestinationSettings)
captionDestinationSettings_smpteTtDestinationSettings :: (Maybe SmpteTtDestinationSettings
 -> f (Maybe SmpteTtDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_smpteTtDestinationSettings = (CaptionDestinationSettings -> Maybe SmpteTtDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe SmpteTtDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe SmpteTtDestinationSettings)
     (Maybe SmpteTtDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings :: Maybe SmpteTtDestinationSettings
$sel:smpteTtDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings} -> Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe SmpteTtDestinationSettings
a -> CaptionDestinationSettings
s {$sel:smpteTtDestinationSettings:CaptionDestinationSettings' :: Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings = Maybe SmpteTtDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_webvttDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe WebvttDestinationSettings)
captionDestinationSettings_webvttDestinationSettings :: (Maybe WebvttDestinationSettings
 -> f (Maybe WebvttDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_webvttDestinationSettings = (CaptionDestinationSettings -> Maybe WebvttDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe WebvttDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe WebvttDestinationSettings)
     (Maybe WebvttDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe WebvttDestinationSettings
webvttDestinationSettings :: Maybe WebvttDestinationSettings
$sel:webvttDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe WebvttDestinationSettings
webvttDestinationSettings} -> Maybe WebvttDestinationSettings
webvttDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe WebvttDestinationSettings
a -> CaptionDestinationSettings
s {$sel:webvttDestinationSettings:CaptionDestinationSettings' :: Maybe WebvttDestinationSettings
webvttDestinationSettings = Maybe WebvttDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_embeddedDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe EmbeddedDestinationSettings)
captionDestinationSettings_embeddedDestinationSettings :: (Maybe EmbeddedDestinationSettings
 -> f (Maybe EmbeddedDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_embeddedDestinationSettings = (CaptionDestinationSettings -> Maybe EmbeddedDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe EmbeddedDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe EmbeddedDestinationSettings)
     (Maybe EmbeddedDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe EmbeddedDestinationSettings
embeddedDestinationSettings :: Maybe EmbeddedDestinationSettings
$sel:embeddedDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe EmbeddedDestinationSettings
embeddedDestinationSettings} -> Maybe EmbeddedDestinationSettings
embeddedDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe EmbeddedDestinationSettings
a -> CaptionDestinationSettings
s {$sel:embeddedDestinationSettings:CaptionDestinationSettings' :: Maybe EmbeddedDestinationSettings
embeddedDestinationSettings = Maybe EmbeddedDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_burnInDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe BurnInDestinationSettings)
captionDestinationSettings_burnInDestinationSettings :: (Maybe BurnInDestinationSettings
 -> f (Maybe BurnInDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_burnInDestinationSettings = (CaptionDestinationSettings -> Maybe BurnInDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe BurnInDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe BurnInDestinationSettings)
     (Maybe BurnInDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe BurnInDestinationSettings
burnInDestinationSettings :: Maybe BurnInDestinationSettings
$sel:burnInDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe BurnInDestinationSettings
burnInDestinationSettings} -> Maybe BurnInDestinationSettings
burnInDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe BurnInDestinationSettings
a -> CaptionDestinationSettings
s {$sel:burnInDestinationSettings:CaptionDestinationSettings' :: Maybe BurnInDestinationSettings
burnInDestinationSettings = Maybe BurnInDestinationSettings
a} :: CaptionDestinationSettings)

-- | Undocumented member.
captionDestinationSettings_aribDestinationSettings :: Lens.Lens' CaptionDestinationSettings (Prelude.Maybe AribDestinationSettings)
captionDestinationSettings_aribDestinationSettings :: (Maybe AribDestinationSettings
 -> f (Maybe AribDestinationSettings))
-> CaptionDestinationSettings -> f CaptionDestinationSettings
captionDestinationSettings_aribDestinationSettings = (CaptionDestinationSettings -> Maybe AribDestinationSettings)
-> (CaptionDestinationSettings
    -> Maybe AribDestinationSettings -> CaptionDestinationSettings)
-> Lens
     CaptionDestinationSettings
     CaptionDestinationSettings
     (Maybe AribDestinationSettings)
     (Maybe AribDestinationSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionDestinationSettings' {Maybe AribDestinationSettings
aribDestinationSettings :: Maybe AribDestinationSettings
$sel:aribDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe AribDestinationSettings
aribDestinationSettings} -> Maybe AribDestinationSettings
aribDestinationSettings) (\s :: CaptionDestinationSettings
s@CaptionDestinationSettings' {} Maybe AribDestinationSettings
a -> CaptionDestinationSettings
s {$sel:aribDestinationSettings:CaptionDestinationSettings' :: Maybe AribDestinationSettings
aribDestinationSettings = Maybe AribDestinationSettings
a} :: CaptionDestinationSettings)

instance Core.FromJSON CaptionDestinationSettings where
  parseJSON :: Value -> Parser CaptionDestinationSettings
parseJSON =
    String
-> (Object -> Parser CaptionDestinationSettings)
-> Value
-> Parser CaptionDestinationSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"CaptionDestinationSettings"
      ( \Object
x ->
          Maybe TeletextDestinationSettings
-> Maybe EbuTtDDestinationSettings
-> Maybe RtmpCaptionInfoDestinationSettings
-> Maybe DvbSubDestinationSettings
-> Maybe Scte27DestinationSettings
-> Maybe TtmlDestinationSettings
-> Maybe Scte20PlusEmbeddedDestinationSettings
-> Maybe EmbeddedPlusScte20DestinationSettings
-> Maybe SmpteTtDestinationSettings
-> Maybe WebvttDestinationSettings
-> Maybe EmbeddedDestinationSettings
-> Maybe BurnInDestinationSettings
-> Maybe AribDestinationSettings
-> CaptionDestinationSettings
CaptionDestinationSettings'
            (Maybe TeletextDestinationSettings
 -> Maybe EbuTtDDestinationSettings
 -> Maybe RtmpCaptionInfoDestinationSettings
 -> Maybe DvbSubDestinationSettings
 -> Maybe Scte27DestinationSettings
 -> Maybe TtmlDestinationSettings
 -> Maybe Scte20PlusEmbeddedDestinationSettings
 -> Maybe EmbeddedPlusScte20DestinationSettings
 -> Maybe SmpteTtDestinationSettings
 -> Maybe WebvttDestinationSettings
 -> Maybe EmbeddedDestinationSettings
 -> Maybe BurnInDestinationSettings
 -> Maybe AribDestinationSettings
 -> CaptionDestinationSettings)
-> Parser (Maybe TeletextDestinationSettings)
-> Parser
     (Maybe EbuTtDDestinationSettings
      -> Maybe RtmpCaptionInfoDestinationSettings
      -> Maybe DvbSubDestinationSettings
      -> Maybe Scte27DestinationSettings
      -> Maybe TtmlDestinationSettings
      -> Maybe Scte20PlusEmbeddedDestinationSettings
      -> Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe TeletextDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"teletextDestinationSettings")
            Parser
  (Maybe EbuTtDDestinationSettings
   -> Maybe RtmpCaptionInfoDestinationSettings
   -> Maybe DvbSubDestinationSettings
   -> Maybe Scte27DestinationSettings
   -> Maybe TtmlDestinationSettings
   -> Maybe Scte20PlusEmbeddedDestinationSettings
   -> Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe EbuTtDDestinationSettings)
-> Parser
     (Maybe RtmpCaptionInfoDestinationSettings
      -> Maybe DvbSubDestinationSettings
      -> Maybe Scte27DestinationSettings
      -> Maybe TtmlDestinationSettings
      -> Maybe Scte20PlusEmbeddedDestinationSettings
      -> Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe EbuTtDDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ebuTtDDestinationSettings")
            Parser
  (Maybe RtmpCaptionInfoDestinationSettings
   -> Maybe DvbSubDestinationSettings
   -> Maybe Scte27DestinationSettings
   -> Maybe TtmlDestinationSettings
   -> Maybe Scte20PlusEmbeddedDestinationSettings
   -> Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe RtmpCaptionInfoDestinationSettings)
-> Parser
     (Maybe DvbSubDestinationSettings
      -> Maybe Scte27DestinationSettings
      -> Maybe TtmlDestinationSettings
      -> Maybe Scte20PlusEmbeddedDestinationSettings
      -> Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe RtmpCaptionInfoDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"rtmpCaptionInfoDestinationSettings")
            Parser
  (Maybe DvbSubDestinationSettings
   -> Maybe Scte27DestinationSettings
   -> Maybe TtmlDestinationSettings
   -> Maybe Scte20PlusEmbeddedDestinationSettings
   -> Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe DvbSubDestinationSettings)
-> Parser
     (Maybe Scte27DestinationSettings
      -> Maybe TtmlDestinationSettings
      -> Maybe Scte20PlusEmbeddedDestinationSettings
      -> Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DvbSubDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"dvbSubDestinationSettings")
            Parser
  (Maybe Scte27DestinationSettings
   -> Maybe TtmlDestinationSettings
   -> Maybe Scte20PlusEmbeddedDestinationSettings
   -> Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe Scte27DestinationSettings)
-> Parser
     (Maybe TtmlDestinationSettings
      -> Maybe Scte20PlusEmbeddedDestinationSettings
      -> Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Scte27DestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scte27DestinationSettings")
            Parser
  (Maybe TtmlDestinationSettings
   -> Maybe Scte20PlusEmbeddedDestinationSettings
   -> Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe TtmlDestinationSettings)
-> Parser
     (Maybe Scte20PlusEmbeddedDestinationSettings
      -> Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TtmlDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ttmlDestinationSettings")
            Parser
  (Maybe Scte20PlusEmbeddedDestinationSettings
   -> Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe Scte20PlusEmbeddedDestinationSettings)
-> Parser
     (Maybe EmbeddedPlusScte20DestinationSettings
      -> Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe Scte20PlusEmbeddedDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scte20PlusEmbeddedDestinationSettings")
            Parser
  (Maybe EmbeddedPlusScte20DestinationSettings
   -> Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe EmbeddedPlusScte20DestinationSettings)
-> Parser
     (Maybe SmpteTtDestinationSettings
      -> Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe EmbeddedPlusScte20DestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"embeddedPlusScte20DestinationSettings")
            Parser
  (Maybe SmpteTtDestinationSettings
   -> Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe SmpteTtDestinationSettings)
-> Parser
     (Maybe WebvttDestinationSettings
      -> Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SmpteTtDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"smpteTtDestinationSettings")
            Parser
  (Maybe WebvttDestinationSettings
   -> Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe WebvttDestinationSettings)
-> Parser
     (Maybe EmbeddedDestinationSettings
      -> Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings
      -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe WebvttDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"webvttDestinationSettings")
            Parser
  (Maybe EmbeddedDestinationSettings
   -> Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings
   -> CaptionDestinationSettings)
-> Parser (Maybe EmbeddedDestinationSettings)
-> Parser
     (Maybe BurnInDestinationSettings
      -> Maybe AribDestinationSettings -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe EmbeddedDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"embeddedDestinationSettings")
            Parser
  (Maybe BurnInDestinationSettings
   -> Maybe AribDestinationSettings -> CaptionDestinationSettings)
-> Parser (Maybe BurnInDestinationSettings)
-> Parser
     (Maybe AribDestinationSettings -> CaptionDestinationSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BurnInDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"burnInDestinationSettings")
            Parser
  (Maybe AribDestinationSettings -> CaptionDestinationSettings)
-> Parser (Maybe AribDestinationSettings)
-> Parser CaptionDestinationSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AribDestinationSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"aribDestinationSettings")
      )

instance Prelude.Hashable CaptionDestinationSettings

instance Prelude.NFData CaptionDestinationSettings

instance Core.ToJSON CaptionDestinationSettings where
  toJSON :: CaptionDestinationSettings -> Value
toJSON CaptionDestinationSettings' {Maybe AribDestinationSettings
Maybe EbuTtDDestinationSettings
Maybe EmbeddedDestinationSettings
Maybe EmbeddedPlusScte20DestinationSettings
Maybe DvbSubDestinationSettings
Maybe BurnInDestinationSettings
Maybe RtmpCaptionInfoDestinationSettings
Maybe Scte20PlusEmbeddedDestinationSettings
Maybe Scte27DestinationSettings
Maybe SmpteTtDestinationSettings
Maybe TeletextDestinationSettings
Maybe TtmlDestinationSettings
Maybe WebvttDestinationSettings
aribDestinationSettings :: Maybe AribDestinationSettings
burnInDestinationSettings :: Maybe BurnInDestinationSettings
embeddedDestinationSettings :: Maybe EmbeddedDestinationSettings
webvttDestinationSettings :: Maybe WebvttDestinationSettings
smpteTtDestinationSettings :: Maybe SmpteTtDestinationSettings
embeddedPlusScte20DestinationSettings :: Maybe EmbeddedPlusScte20DestinationSettings
scte20PlusEmbeddedDestinationSettings :: Maybe Scte20PlusEmbeddedDestinationSettings
ttmlDestinationSettings :: Maybe TtmlDestinationSettings
scte27DestinationSettings :: Maybe Scte27DestinationSettings
dvbSubDestinationSettings :: Maybe DvbSubDestinationSettings
rtmpCaptionInfoDestinationSettings :: Maybe RtmpCaptionInfoDestinationSettings
ebuTtDDestinationSettings :: Maybe EbuTtDDestinationSettings
teletextDestinationSettings :: Maybe TeletextDestinationSettings
$sel:aribDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe AribDestinationSettings
$sel:burnInDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe BurnInDestinationSettings
$sel:embeddedDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe EmbeddedDestinationSettings
$sel:webvttDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe WebvttDestinationSettings
$sel:smpteTtDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe SmpteTtDestinationSettings
$sel:embeddedPlusScte20DestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings
-> Maybe EmbeddedPlusScte20DestinationSettings
$sel:scte20PlusEmbeddedDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings
-> Maybe Scte20PlusEmbeddedDestinationSettings
$sel:ttmlDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe TtmlDestinationSettings
$sel:scte27DestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe Scte27DestinationSettings
$sel:dvbSubDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe DvbSubDestinationSettings
$sel:rtmpCaptionInfoDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings
-> Maybe RtmpCaptionInfoDestinationSettings
$sel:ebuTtDDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe EbuTtDDestinationSettings
$sel:teletextDestinationSettings:CaptionDestinationSettings' :: CaptionDestinationSettings -> Maybe TeletextDestinationSettings
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"teletextDestinationSettings" Text -> TeletextDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (TeletextDestinationSettings -> Pair)
-> Maybe TeletextDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TeletextDestinationSettings
teletextDestinationSettings,
            (Text
"ebuTtDDestinationSettings" Text -> EbuTtDDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (EbuTtDDestinationSettings -> Pair)
-> Maybe EbuTtDDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EbuTtDDestinationSettings
ebuTtDDestinationSettings,
            (Text
"rtmpCaptionInfoDestinationSettings" Text -> RtmpCaptionInfoDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (RtmpCaptionInfoDestinationSettings -> Pair)
-> Maybe RtmpCaptionInfoDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings,
            (Text
"dvbSubDestinationSettings" Text -> DvbSubDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (DvbSubDestinationSettings -> Pair)
-> Maybe DvbSubDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubDestinationSettings
dvbSubDestinationSettings,
            (Text
"scte27DestinationSettings" Text -> Scte27DestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Scte27DestinationSettings -> Pair)
-> Maybe Scte27DestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte27DestinationSettings
scte27DestinationSettings,
            (Text
"ttmlDestinationSettings" Text -> TtmlDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (TtmlDestinationSettings -> Pair)
-> Maybe TtmlDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TtmlDestinationSettings
ttmlDestinationSettings,
            (Text
"scte20PlusEmbeddedDestinationSettings" Text -> Scte20PlusEmbeddedDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Scte20PlusEmbeddedDestinationSettings -> Pair)
-> Maybe Scte20PlusEmbeddedDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings,
            (Text
"embeddedPlusScte20DestinationSettings" Text -> EmbeddedPlusScte20DestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (EmbeddedPlusScte20DestinationSettings -> Pair)
-> Maybe EmbeddedPlusScte20DestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings,
            (Text
"smpteTtDestinationSettings" Text -> SmpteTtDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (SmpteTtDestinationSettings -> Pair)
-> Maybe SmpteTtDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SmpteTtDestinationSettings
smpteTtDestinationSettings,
            (Text
"webvttDestinationSettings" Text -> WebvttDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (WebvttDestinationSettings -> Pair)
-> Maybe WebvttDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe WebvttDestinationSettings
webvttDestinationSettings,
            (Text
"embeddedDestinationSettings" Text -> EmbeddedDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (EmbeddedDestinationSettings -> Pair)
-> Maybe EmbeddedDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EmbeddedDestinationSettings
embeddedDestinationSettings,
            (Text
"burnInDestinationSettings" Text -> BurnInDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (BurnInDestinationSettings -> Pair)
-> Maybe BurnInDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BurnInDestinationSettings
burnInDestinationSettings,
            (Text
"aribDestinationSettings" Text -> AribDestinationSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AribDestinationSettings -> Pair)
-> Maybe AribDestinationSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AribDestinationSettings
aribDestinationSettings
          ]
      )