{-# 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.CaptionSelectorSettings
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MediaLive.Types.CaptionSelectorSettings where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MediaLive.Types.AncillarySourceSettings
import Amazonka.MediaLive.Types.AribSourceSettings
import Amazonka.MediaLive.Types.DvbSubSourceSettings
import Amazonka.MediaLive.Types.EmbeddedSourceSettings
import Amazonka.MediaLive.Types.Scte20SourceSettings
import Amazonka.MediaLive.Types.Scte27SourceSettings
import Amazonka.MediaLive.Types.TeletextSourceSettings
import qualified Amazonka.Prelude as Prelude

-- | Caption Selector Settings
--
-- /See:/ 'newCaptionSelectorSettings' smart constructor.
data CaptionSelectorSettings = CaptionSelectorSettings'
  { CaptionSelectorSettings -> Maybe AncillarySourceSettings
ancillarySourceSettings :: Prelude.Maybe AncillarySourceSettings,
    CaptionSelectorSettings -> Maybe AribSourceSettings
aribSourceSettings :: Prelude.Maybe AribSourceSettings,
    CaptionSelectorSettings -> Maybe DvbSubSourceSettings
dvbSubSourceSettings :: Prelude.Maybe DvbSubSourceSettings,
    CaptionSelectorSettings -> Maybe EmbeddedSourceSettings
embeddedSourceSettings :: Prelude.Maybe EmbeddedSourceSettings,
    CaptionSelectorSettings -> Maybe Scte20SourceSettings
scte20SourceSettings :: Prelude.Maybe Scte20SourceSettings,
    CaptionSelectorSettings -> Maybe Scte27SourceSettings
scte27SourceSettings :: Prelude.Maybe Scte27SourceSettings,
    CaptionSelectorSettings -> Maybe TeletextSourceSettings
teletextSourceSettings :: Prelude.Maybe TeletextSourceSettings
  }
  deriving (CaptionSelectorSettings -> CaptionSelectorSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CaptionSelectorSettings -> CaptionSelectorSettings -> Bool
$c/= :: CaptionSelectorSettings -> CaptionSelectorSettings -> Bool
== :: CaptionSelectorSettings -> CaptionSelectorSettings -> Bool
$c== :: CaptionSelectorSettings -> CaptionSelectorSettings -> Bool
Prelude.Eq, ReadPrec [CaptionSelectorSettings]
ReadPrec CaptionSelectorSettings
Int -> ReadS CaptionSelectorSettings
ReadS [CaptionSelectorSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CaptionSelectorSettings]
$creadListPrec :: ReadPrec [CaptionSelectorSettings]
readPrec :: ReadPrec CaptionSelectorSettings
$creadPrec :: ReadPrec CaptionSelectorSettings
readList :: ReadS [CaptionSelectorSettings]
$creadList :: ReadS [CaptionSelectorSettings]
readsPrec :: Int -> ReadS CaptionSelectorSettings
$creadsPrec :: Int -> ReadS CaptionSelectorSettings
Prelude.Read, Int -> CaptionSelectorSettings -> ShowS
[CaptionSelectorSettings] -> ShowS
CaptionSelectorSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CaptionSelectorSettings] -> ShowS
$cshowList :: [CaptionSelectorSettings] -> ShowS
show :: CaptionSelectorSettings -> String
$cshow :: CaptionSelectorSettings -> String
showsPrec :: Int -> CaptionSelectorSettings -> ShowS
$cshowsPrec :: Int -> CaptionSelectorSettings -> ShowS
Prelude.Show, forall x. Rep CaptionSelectorSettings x -> CaptionSelectorSettings
forall x. CaptionSelectorSettings -> Rep CaptionSelectorSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CaptionSelectorSettings x -> CaptionSelectorSettings
$cfrom :: forall x. CaptionSelectorSettings -> Rep CaptionSelectorSettings x
Prelude.Generic)

-- |
-- Create a value of 'CaptionSelectorSettings' 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:
--
-- 'ancillarySourceSettings', 'captionSelectorSettings_ancillarySourceSettings' - Undocumented member.
--
-- 'aribSourceSettings', 'captionSelectorSettings_aribSourceSettings' - Undocumented member.
--
-- 'dvbSubSourceSettings', 'captionSelectorSettings_dvbSubSourceSettings' - Undocumented member.
--
-- 'embeddedSourceSettings', 'captionSelectorSettings_embeddedSourceSettings' - Undocumented member.
--
-- 'scte20SourceSettings', 'captionSelectorSettings_scte20SourceSettings' - Undocumented member.
--
-- 'scte27SourceSettings', 'captionSelectorSettings_scte27SourceSettings' - Undocumented member.
--
-- 'teletextSourceSettings', 'captionSelectorSettings_teletextSourceSettings' - Undocumented member.
newCaptionSelectorSettings ::
  CaptionSelectorSettings
newCaptionSelectorSettings :: CaptionSelectorSettings
newCaptionSelectorSettings =
  CaptionSelectorSettings'
    { $sel:ancillarySourceSettings:CaptionSelectorSettings' :: Maybe AncillarySourceSettings
ancillarySourceSettings =
        forall a. Maybe a
Prelude.Nothing,
      $sel:aribSourceSettings:CaptionSelectorSettings' :: Maybe AribSourceSettings
aribSourceSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:dvbSubSourceSettings:CaptionSelectorSettings' :: Maybe DvbSubSourceSettings
dvbSubSourceSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:embeddedSourceSettings:CaptionSelectorSettings' :: Maybe EmbeddedSourceSettings
embeddedSourceSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:scte20SourceSettings:CaptionSelectorSettings' :: Maybe Scte20SourceSettings
scte20SourceSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:scte27SourceSettings:CaptionSelectorSettings' :: Maybe Scte27SourceSettings
scte27SourceSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:teletextSourceSettings:CaptionSelectorSettings' :: Maybe TeletextSourceSettings
teletextSourceSettings = forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
captionSelectorSettings_ancillarySourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe AncillarySourceSettings)
captionSelectorSettings_ancillarySourceSettings :: Lens' CaptionSelectorSettings (Maybe AncillarySourceSettings)
captionSelectorSettings_ancillarySourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe AncillarySourceSettings
ancillarySourceSettings :: Maybe AncillarySourceSettings
$sel:ancillarySourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AncillarySourceSettings
ancillarySourceSettings} -> Maybe AncillarySourceSettings
ancillarySourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe AncillarySourceSettings
a -> CaptionSelectorSettings
s {$sel:ancillarySourceSettings:CaptionSelectorSettings' :: Maybe AncillarySourceSettings
ancillarySourceSettings = Maybe AncillarySourceSettings
a} :: CaptionSelectorSettings)

-- | Undocumented member.
captionSelectorSettings_aribSourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe AribSourceSettings)
captionSelectorSettings_aribSourceSettings :: Lens' CaptionSelectorSettings (Maybe AribSourceSettings)
captionSelectorSettings_aribSourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe AribSourceSettings
aribSourceSettings :: Maybe AribSourceSettings
$sel:aribSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AribSourceSettings
aribSourceSettings} -> Maybe AribSourceSettings
aribSourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe AribSourceSettings
a -> CaptionSelectorSettings
s {$sel:aribSourceSettings:CaptionSelectorSettings' :: Maybe AribSourceSettings
aribSourceSettings = Maybe AribSourceSettings
a} :: CaptionSelectorSettings)

-- | Undocumented member.
captionSelectorSettings_dvbSubSourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe DvbSubSourceSettings)
captionSelectorSettings_dvbSubSourceSettings :: Lens' CaptionSelectorSettings (Maybe DvbSubSourceSettings)
captionSelectorSettings_dvbSubSourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe DvbSubSourceSettings
dvbSubSourceSettings :: Maybe DvbSubSourceSettings
$sel:dvbSubSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe DvbSubSourceSettings
dvbSubSourceSettings} -> Maybe DvbSubSourceSettings
dvbSubSourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe DvbSubSourceSettings
a -> CaptionSelectorSettings
s {$sel:dvbSubSourceSettings:CaptionSelectorSettings' :: Maybe DvbSubSourceSettings
dvbSubSourceSettings = Maybe DvbSubSourceSettings
a} :: CaptionSelectorSettings)

-- | Undocumented member.
captionSelectorSettings_embeddedSourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe EmbeddedSourceSettings)
captionSelectorSettings_embeddedSourceSettings :: Lens' CaptionSelectorSettings (Maybe EmbeddedSourceSettings)
captionSelectorSettings_embeddedSourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe EmbeddedSourceSettings
embeddedSourceSettings :: Maybe EmbeddedSourceSettings
$sel:embeddedSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe EmbeddedSourceSettings
embeddedSourceSettings} -> Maybe EmbeddedSourceSettings
embeddedSourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe EmbeddedSourceSettings
a -> CaptionSelectorSettings
s {$sel:embeddedSourceSettings:CaptionSelectorSettings' :: Maybe EmbeddedSourceSettings
embeddedSourceSettings = Maybe EmbeddedSourceSettings
a} :: CaptionSelectorSettings)

-- | Undocumented member.
captionSelectorSettings_scte20SourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe Scte20SourceSettings)
captionSelectorSettings_scte20SourceSettings :: Lens' CaptionSelectorSettings (Maybe Scte20SourceSettings)
captionSelectorSettings_scte20SourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe Scte20SourceSettings
scte20SourceSettings :: Maybe Scte20SourceSettings
$sel:scte20SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte20SourceSettings
scte20SourceSettings} -> Maybe Scte20SourceSettings
scte20SourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe Scte20SourceSettings
a -> CaptionSelectorSettings
s {$sel:scte20SourceSettings:CaptionSelectorSettings' :: Maybe Scte20SourceSettings
scte20SourceSettings = Maybe Scte20SourceSettings
a} :: CaptionSelectorSettings)

-- | Undocumented member.
captionSelectorSettings_scte27SourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe Scte27SourceSettings)
captionSelectorSettings_scte27SourceSettings :: Lens' CaptionSelectorSettings (Maybe Scte27SourceSettings)
captionSelectorSettings_scte27SourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe Scte27SourceSettings
scte27SourceSettings :: Maybe Scte27SourceSettings
$sel:scte27SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte27SourceSettings
scte27SourceSettings} -> Maybe Scte27SourceSettings
scte27SourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe Scte27SourceSettings
a -> CaptionSelectorSettings
s {$sel:scte27SourceSettings:CaptionSelectorSettings' :: Maybe Scte27SourceSettings
scte27SourceSettings = Maybe Scte27SourceSettings
a} :: CaptionSelectorSettings)

-- | Undocumented member.
captionSelectorSettings_teletextSourceSettings :: Lens.Lens' CaptionSelectorSettings (Prelude.Maybe TeletextSourceSettings)
captionSelectorSettings_teletextSourceSettings :: Lens' CaptionSelectorSettings (Maybe TeletextSourceSettings)
captionSelectorSettings_teletextSourceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CaptionSelectorSettings' {Maybe TeletextSourceSettings
teletextSourceSettings :: Maybe TeletextSourceSettings
$sel:teletextSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe TeletextSourceSettings
teletextSourceSettings} -> Maybe TeletextSourceSettings
teletextSourceSettings) (\s :: CaptionSelectorSettings
s@CaptionSelectorSettings' {} Maybe TeletextSourceSettings
a -> CaptionSelectorSettings
s {$sel:teletextSourceSettings:CaptionSelectorSettings' :: Maybe TeletextSourceSettings
teletextSourceSettings = Maybe TeletextSourceSettings
a} :: CaptionSelectorSettings)

instance Data.FromJSON CaptionSelectorSettings where
  parseJSON :: Value -> Parser CaptionSelectorSettings
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"CaptionSelectorSettings"
      ( \Object
x ->
          Maybe AncillarySourceSettings
-> Maybe AribSourceSettings
-> Maybe DvbSubSourceSettings
-> Maybe EmbeddedSourceSettings
-> Maybe Scte20SourceSettings
-> Maybe Scte27SourceSettings
-> Maybe TeletextSourceSettings
-> CaptionSelectorSettings
CaptionSelectorSettings'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ancillarySourceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"aribSourceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"dvbSubSourceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"embeddedSourceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"scte20SourceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"scte27SourceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"teletextSourceSettings")
      )

instance Prelude.Hashable CaptionSelectorSettings where
  hashWithSalt :: Int -> CaptionSelectorSettings -> Int
hashWithSalt Int
_salt CaptionSelectorSettings' {Maybe AncillarySourceSettings
Maybe AribSourceSettings
Maybe DvbSubSourceSettings
Maybe EmbeddedSourceSettings
Maybe Scte20SourceSettings
Maybe Scte27SourceSettings
Maybe TeletextSourceSettings
teletextSourceSettings :: Maybe TeletextSourceSettings
scte27SourceSettings :: Maybe Scte27SourceSettings
scte20SourceSettings :: Maybe Scte20SourceSettings
embeddedSourceSettings :: Maybe EmbeddedSourceSettings
dvbSubSourceSettings :: Maybe DvbSubSourceSettings
aribSourceSettings :: Maybe AribSourceSettings
ancillarySourceSettings :: Maybe AncillarySourceSettings
$sel:teletextSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe TeletextSourceSettings
$sel:scte27SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte27SourceSettings
$sel:scte20SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte20SourceSettings
$sel:embeddedSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe EmbeddedSourceSettings
$sel:dvbSubSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe DvbSubSourceSettings
$sel:aribSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AribSourceSettings
$sel:ancillarySourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AncillarySourceSettings
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AncillarySourceSettings
ancillarySourceSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AribSourceSettings
aribSourceSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DvbSubSourceSettings
dvbSubSourceSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EmbeddedSourceSettings
embeddedSourceSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Scte20SourceSettings
scte20SourceSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Scte27SourceSettings
scte27SourceSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TeletextSourceSettings
teletextSourceSettings

instance Prelude.NFData CaptionSelectorSettings where
  rnf :: CaptionSelectorSettings -> ()
rnf CaptionSelectorSettings' {Maybe AncillarySourceSettings
Maybe AribSourceSettings
Maybe DvbSubSourceSettings
Maybe EmbeddedSourceSettings
Maybe Scte20SourceSettings
Maybe Scte27SourceSettings
Maybe TeletextSourceSettings
teletextSourceSettings :: Maybe TeletextSourceSettings
scte27SourceSettings :: Maybe Scte27SourceSettings
scte20SourceSettings :: Maybe Scte20SourceSettings
embeddedSourceSettings :: Maybe EmbeddedSourceSettings
dvbSubSourceSettings :: Maybe DvbSubSourceSettings
aribSourceSettings :: Maybe AribSourceSettings
ancillarySourceSettings :: Maybe AncillarySourceSettings
$sel:teletextSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe TeletextSourceSettings
$sel:scte27SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte27SourceSettings
$sel:scte20SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte20SourceSettings
$sel:embeddedSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe EmbeddedSourceSettings
$sel:dvbSubSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe DvbSubSourceSettings
$sel:aribSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AribSourceSettings
$sel:ancillarySourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AncillarySourceSettings
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AncillarySourceSettings
ancillarySourceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AribSourceSettings
aribSourceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DvbSubSourceSettings
dvbSubSourceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EmbeddedSourceSettings
embeddedSourceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Scte20SourceSettings
scte20SourceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Scte27SourceSettings
scte27SourceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TeletextSourceSettings
teletextSourceSettings

instance Data.ToJSON CaptionSelectorSettings where
  toJSON :: CaptionSelectorSettings -> Value
toJSON CaptionSelectorSettings' {Maybe AncillarySourceSettings
Maybe AribSourceSettings
Maybe DvbSubSourceSettings
Maybe EmbeddedSourceSettings
Maybe Scte20SourceSettings
Maybe Scte27SourceSettings
Maybe TeletextSourceSettings
teletextSourceSettings :: Maybe TeletextSourceSettings
scte27SourceSettings :: Maybe Scte27SourceSettings
scte20SourceSettings :: Maybe Scte20SourceSettings
embeddedSourceSettings :: Maybe EmbeddedSourceSettings
dvbSubSourceSettings :: Maybe DvbSubSourceSettings
aribSourceSettings :: Maybe AribSourceSettings
ancillarySourceSettings :: Maybe AncillarySourceSettings
$sel:teletextSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe TeletextSourceSettings
$sel:scte27SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte27SourceSettings
$sel:scte20SourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe Scte20SourceSettings
$sel:embeddedSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe EmbeddedSourceSettings
$sel:dvbSubSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe DvbSubSourceSettings
$sel:aribSourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AribSourceSettings
$sel:ancillarySourceSettings:CaptionSelectorSettings' :: CaptionSelectorSettings -> Maybe AncillarySourceSettings
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"ancillarySourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AncillarySourceSettings
ancillarySourceSettings,
            (Key
"aribSourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AribSourceSettings
aribSourceSettings,
            (Key
"dvbSubSourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DvbSubSourceSettings
dvbSubSourceSettings,
            (Key
"embeddedSourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EmbeddedSourceSettings
embeddedSourceSettings,
            (Key
"scte20SourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte20SourceSettings
scte20SourceSettings,
            (Key
"scte27SourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte27SourceSettings
scte27SourceSettings,
            (Key
"teletextSourceSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TeletextSourceSettings
teletextSourceSettings
          ]
      )