{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

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

-- |
-- Module      : Amazonka.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation
-- 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.MediaConvert.Types.CmafWriteSegmentTimelineInRepresentation
  ( CmafWriteSegmentTimelineInRepresentation
      ( ..,
        CmafWriteSegmentTimelineInRepresentation_DISABLED,
        CmafWriteSegmentTimelineInRepresentation_ENABLED
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

-- | When you enable Precise segment duration in DASH manifests
-- (writeSegmentTimelineInRepresentation), your DASH manifest shows precise
-- segment durations. The segment duration information appears inside the
-- SegmentTimeline element, inside SegmentTemplate at the Representation
-- level. When this feature isn\'t enabled, the segment durations in your
-- DASH manifest are approximate. The segment duration information appears
-- in the duration attribute of the SegmentTemplate element.
newtype CmafWriteSegmentTimelineInRepresentation = CmafWriteSegmentTimelineInRepresentation'
  { CmafWriteSegmentTimelineInRepresentation -> Text
fromCmafWriteSegmentTimelineInRepresentation ::
      Core.Text
  }
  deriving stock
    ( Int -> CmafWriteSegmentTimelineInRepresentation -> ShowS
[CmafWriteSegmentTimelineInRepresentation] -> ShowS
CmafWriteSegmentTimelineInRepresentation -> String
(Int -> CmafWriteSegmentTimelineInRepresentation -> ShowS)
-> (CmafWriteSegmentTimelineInRepresentation -> String)
-> ([CmafWriteSegmentTimelineInRepresentation] -> ShowS)
-> Show CmafWriteSegmentTimelineInRepresentation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CmafWriteSegmentTimelineInRepresentation] -> ShowS
$cshowList :: [CmafWriteSegmentTimelineInRepresentation] -> ShowS
show :: CmafWriteSegmentTimelineInRepresentation -> String
$cshow :: CmafWriteSegmentTimelineInRepresentation -> String
showsPrec :: Int -> CmafWriteSegmentTimelineInRepresentation -> ShowS
$cshowsPrec :: Int -> CmafWriteSegmentTimelineInRepresentation -> ShowS
Prelude.Show,
      ReadPrec [CmafWriteSegmentTimelineInRepresentation]
ReadPrec CmafWriteSegmentTimelineInRepresentation
Int -> ReadS CmafWriteSegmentTimelineInRepresentation
ReadS [CmafWriteSegmentTimelineInRepresentation]
(Int -> ReadS CmafWriteSegmentTimelineInRepresentation)
-> ReadS [CmafWriteSegmentTimelineInRepresentation]
-> ReadPrec CmafWriteSegmentTimelineInRepresentation
-> ReadPrec [CmafWriteSegmentTimelineInRepresentation]
-> Read CmafWriteSegmentTimelineInRepresentation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CmafWriteSegmentTimelineInRepresentation]
$creadListPrec :: ReadPrec [CmafWriteSegmentTimelineInRepresentation]
readPrec :: ReadPrec CmafWriteSegmentTimelineInRepresentation
$creadPrec :: ReadPrec CmafWriteSegmentTimelineInRepresentation
readList :: ReadS [CmafWriteSegmentTimelineInRepresentation]
$creadList :: ReadS [CmafWriteSegmentTimelineInRepresentation]
readsPrec :: Int -> ReadS CmafWriteSegmentTimelineInRepresentation
$creadsPrec :: Int -> ReadS CmafWriteSegmentTimelineInRepresentation
Prelude.Read,
      CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
(CmafWriteSegmentTimelineInRepresentation
 -> CmafWriteSegmentTimelineInRepresentation -> Bool)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation -> Bool)
-> Eq CmafWriteSegmentTimelineInRepresentation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
$c/= :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
== :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
$c== :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
Prelude.Eq,
      Eq CmafWriteSegmentTimelineInRepresentation
Eq CmafWriteSegmentTimelineInRepresentation
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation -> Ordering)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation -> Bool)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation -> Bool)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation -> Bool)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation -> Bool)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation)
-> (CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation
    -> CmafWriteSegmentTimelineInRepresentation)
-> Ord CmafWriteSegmentTimelineInRepresentation
CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Ordering
CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
$cmin :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
max :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
$cmax :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation
>= :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
$c>= :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
> :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
$c> :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
<= :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
$c<= :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
< :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
$c< :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Bool
compare :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Ordering
$ccompare :: CmafWriteSegmentTimelineInRepresentation
-> CmafWriteSegmentTimelineInRepresentation -> Ordering
$cp1Ord :: Eq CmafWriteSegmentTimelineInRepresentation
Prelude.Ord,
      (forall x.
 CmafWriteSegmentTimelineInRepresentation
 -> Rep CmafWriteSegmentTimelineInRepresentation x)
-> (forall x.
    Rep CmafWriteSegmentTimelineInRepresentation x
    -> CmafWriteSegmentTimelineInRepresentation)
-> Generic CmafWriteSegmentTimelineInRepresentation
forall x.
Rep CmafWriteSegmentTimelineInRepresentation x
-> CmafWriteSegmentTimelineInRepresentation
forall x.
CmafWriteSegmentTimelineInRepresentation
-> Rep CmafWriteSegmentTimelineInRepresentation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CmafWriteSegmentTimelineInRepresentation x
-> CmafWriteSegmentTimelineInRepresentation
$cfrom :: forall x.
CmafWriteSegmentTimelineInRepresentation
-> Rep CmafWriteSegmentTimelineInRepresentation x
Prelude.Generic
    )
  deriving newtype
    ( Int -> CmafWriteSegmentTimelineInRepresentation -> Int
CmafWriteSegmentTimelineInRepresentation -> Int
(Int -> CmafWriteSegmentTimelineInRepresentation -> Int)
-> (CmafWriteSegmentTimelineInRepresentation -> Int)
-> Hashable CmafWriteSegmentTimelineInRepresentation
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: CmafWriteSegmentTimelineInRepresentation -> Int
$chash :: CmafWriteSegmentTimelineInRepresentation -> Int
hashWithSalt :: Int -> CmafWriteSegmentTimelineInRepresentation -> Int
$chashWithSalt :: Int -> CmafWriteSegmentTimelineInRepresentation -> Int
Prelude.Hashable,
      CmafWriteSegmentTimelineInRepresentation -> ()
(CmafWriteSegmentTimelineInRepresentation -> ())
-> NFData CmafWriteSegmentTimelineInRepresentation
forall a. (a -> ()) -> NFData a
rnf :: CmafWriteSegmentTimelineInRepresentation -> ()
$crnf :: CmafWriteSegmentTimelineInRepresentation -> ()
Prelude.NFData,
      Text -> Either String CmafWriteSegmentTimelineInRepresentation
(Text -> Either String CmafWriteSegmentTimelineInRepresentation)
-> FromText CmafWriteSegmentTimelineInRepresentation
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String CmafWriteSegmentTimelineInRepresentation
$cfromText :: Text -> Either String CmafWriteSegmentTimelineInRepresentation
Core.FromText,
      CmafWriteSegmentTimelineInRepresentation -> Text
(CmafWriteSegmentTimelineInRepresentation -> Text)
-> ToText CmafWriteSegmentTimelineInRepresentation
forall a. (a -> Text) -> ToText a
toText :: CmafWriteSegmentTimelineInRepresentation -> Text
$ctoText :: CmafWriteSegmentTimelineInRepresentation -> Text
Core.ToText,
      CmafWriteSegmentTimelineInRepresentation -> ByteString
(CmafWriteSegmentTimelineInRepresentation -> ByteString)
-> ToByteString CmafWriteSegmentTimelineInRepresentation
forall a. (a -> ByteString) -> ToByteString a
toBS :: CmafWriteSegmentTimelineInRepresentation -> ByteString
$ctoBS :: CmafWriteSegmentTimelineInRepresentation -> ByteString
Core.ToByteString,
      CmafWriteSegmentTimelineInRepresentation -> ByteStringBuilder
(CmafWriteSegmentTimelineInRepresentation -> ByteStringBuilder)
-> ToLog CmafWriteSegmentTimelineInRepresentation
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: CmafWriteSegmentTimelineInRepresentation -> ByteStringBuilder
$cbuild :: CmafWriteSegmentTimelineInRepresentation -> ByteStringBuilder
Core.ToLog,
      HeaderName -> CmafWriteSegmentTimelineInRepresentation -> [Header]
(HeaderName
 -> CmafWriteSegmentTimelineInRepresentation -> [Header])
-> ToHeader CmafWriteSegmentTimelineInRepresentation
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> CmafWriteSegmentTimelineInRepresentation -> [Header]
$ctoHeader :: HeaderName -> CmafWriteSegmentTimelineInRepresentation -> [Header]
Core.ToHeader,
      CmafWriteSegmentTimelineInRepresentation -> QueryString
(CmafWriteSegmentTimelineInRepresentation -> QueryString)
-> ToQuery CmafWriteSegmentTimelineInRepresentation
forall a. (a -> QueryString) -> ToQuery a
toQuery :: CmafWriteSegmentTimelineInRepresentation -> QueryString
$ctoQuery :: CmafWriteSegmentTimelineInRepresentation -> QueryString
Core.ToQuery,
      Value -> Parser [CmafWriteSegmentTimelineInRepresentation]
Value -> Parser CmafWriteSegmentTimelineInRepresentation
(Value -> Parser CmafWriteSegmentTimelineInRepresentation)
-> (Value -> Parser [CmafWriteSegmentTimelineInRepresentation])
-> FromJSON CmafWriteSegmentTimelineInRepresentation
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [CmafWriteSegmentTimelineInRepresentation]
$cparseJSONList :: Value -> Parser [CmafWriteSegmentTimelineInRepresentation]
parseJSON :: Value -> Parser CmafWriteSegmentTimelineInRepresentation
$cparseJSON :: Value -> Parser CmafWriteSegmentTimelineInRepresentation
Core.FromJSON,
      FromJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
FromJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
FromJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
-> FromJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
-> FromJSONKey CmafWriteSegmentTimelineInRepresentation
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
$cfromJSONKeyList :: FromJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
fromJSONKey :: FromJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
$cfromJSONKey :: FromJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
Core.FromJSONKey,
      [CmafWriteSegmentTimelineInRepresentation] -> Encoding
[CmafWriteSegmentTimelineInRepresentation] -> Value
CmafWriteSegmentTimelineInRepresentation -> Encoding
CmafWriteSegmentTimelineInRepresentation -> Value
(CmafWriteSegmentTimelineInRepresentation -> Value)
-> (CmafWriteSegmentTimelineInRepresentation -> Encoding)
-> ([CmafWriteSegmentTimelineInRepresentation] -> Value)
-> ([CmafWriteSegmentTimelineInRepresentation] -> Encoding)
-> ToJSON CmafWriteSegmentTimelineInRepresentation
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [CmafWriteSegmentTimelineInRepresentation] -> Encoding
$ctoEncodingList :: [CmafWriteSegmentTimelineInRepresentation] -> Encoding
toJSONList :: [CmafWriteSegmentTimelineInRepresentation] -> Value
$ctoJSONList :: [CmafWriteSegmentTimelineInRepresentation] -> Value
toEncoding :: CmafWriteSegmentTimelineInRepresentation -> Encoding
$ctoEncoding :: CmafWriteSegmentTimelineInRepresentation -> Encoding
toJSON :: CmafWriteSegmentTimelineInRepresentation -> Value
$ctoJSON :: CmafWriteSegmentTimelineInRepresentation -> Value
Core.ToJSON,
      ToJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
ToJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
ToJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
-> ToJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
-> ToJSONKey CmafWriteSegmentTimelineInRepresentation
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
$ctoJSONKeyList :: ToJSONKeyFunction [CmafWriteSegmentTimelineInRepresentation]
toJSONKey :: ToJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
$ctoJSONKey :: ToJSONKeyFunction CmafWriteSegmentTimelineInRepresentation
Core.ToJSONKey,
      [Node] -> Either String CmafWriteSegmentTimelineInRepresentation
([Node] -> Either String CmafWriteSegmentTimelineInRepresentation)
-> FromXML CmafWriteSegmentTimelineInRepresentation
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String CmafWriteSegmentTimelineInRepresentation
$cparseXML :: [Node] -> Either String CmafWriteSegmentTimelineInRepresentation
Core.FromXML,
      CmafWriteSegmentTimelineInRepresentation -> XML
(CmafWriteSegmentTimelineInRepresentation -> XML)
-> ToXML CmafWriteSegmentTimelineInRepresentation
forall a. (a -> XML) -> ToXML a
toXML :: CmafWriteSegmentTimelineInRepresentation -> XML
$ctoXML :: CmafWriteSegmentTimelineInRepresentation -> XML
Core.ToXML
    )

pattern CmafWriteSegmentTimelineInRepresentation_DISABLED :: CmafWriteSegmentTimelineInRepresentation
pattern $bCmafWriteSegmentTimelineInRepresentation_DISABLED :: CmafWriteSegmentTimelineInRepresentation
$mCmafWriteSegmentTimelineInRepresentation_DISABLED :: forall r.
CmafWriteSegmentTimelineInRepresentation
-> (Void# -> r) -> (Void# -> r) -> r
CmafWriteSegmentTimelineInRepresentation_DISABLED = CmafWriteSegmentTimelineInRepresentation' "DISABLED"

pattern CmafWriteSegmentTimelineInRepresentation_ENABLED :: CmafWriteSegmentTimelineInRepresentation
pattern $bCmafWriteSegmentTimelineInRepresentation_ENABLED :: CmafWriteSegmentTimelineInRepresentation
$mCmafWriteSegmentTimelineInRepresentation_ENABLED :: forall r.
CmafWriteSegmentTimelineInRepresentation
-> (Void# -> r) -> (Void# -> r) -> r
CmafWriteSegmentTimelineInRepresentation_ENABLED = CmafWriteSegmentTimelineInRepresentation' "ENABLED"

{-# COMPLETE
  CmafWriteSegmentTimelineInRepresentation_DISABLED,
  CmafWriteSegmentTimelineInRepresentation_ENABLED,
  CmafWriteSegmentTimelineInRepresentation'
  #-}