module JSDOM.Generated.MediaSource
(newMediaSource, addSourceBuffer, addSourceBuffer_,
addSourceBufferUnsafe, addSourceBufferUnchecked,
removeSourceBuffer, endOfStream, isTypeSupported, isTypeSupported_,
getSourceBuffers, getSourceBuffersUnsafe,
getSourceBuffersUnchecked, getActiveSourceBuffers,
getActiveSourceBuffersUnsafe, getActiveSourceBuffersUnchecked,
setDuration, getDuration, getReadyState, MediaSource(..),
gTypeMediaSource)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array)
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName)
import JSDOM.Enums
newMediaSource :: (MonadDOM m) => m MediaSource
newMediaSource
= liftDOM (MediaSource <$> new (jsg "MediaSource") ())
addSourceBuffer ::
(MonadDOM m, ToJSString type') =>
MediaSource -> type' -> m (Maybe SourceBuffer)
addSourceBuffer self type'
= liftDOM
((self ^. jsf "addSourceBuffer" [toJSVal type']) >>= fromJSVal)
addSourceBuffer_ ::
(MonadDOM m, ToJSString type') => MediaSource -> type' -> m ()
addSourceBuffer_ self type'
= liftDOM (void (self ^. jsf "addSourceBuffer" [toJSVal type']))
addSourceBufferUnsafe ::
(MonadDOM m, ToJSString type', HasCallStack) =>
MediaSource -> type' -> m SourceBuffer
addSourceBufferUnsafe self type'
= liftDOM
(((self ^. jsf "addSourceBuffer" [toJSVal type']) >>= fromJSVal)
>>= maybe (Prelude.error "Nothing to return") return)
addSourceBufferUnchecked ::
(MonadDOM m, ToJSString type') =>
MediaSource -> type' -> m SourceBuffer
addSourceBufferUnchecked self type'
= liftDOM
((self ^. jsf "addSourceBuffer" [toJSVal type']) >>=
fromJSValUnchecked)
removeSourceBuffer ::
(MonadDOM m) => MediaSource -> Maybe SourceBuffer -> m ()
removeSourceBuffer self buffer
= liftDOM
(void (self ^. jsf "removeSourceBuffer" [toJSVal buffer]))
endOfStream ::
(MonadDOM m) => MediaSource -> EndOfStreamError -> m ()
endOfStream self error
= liftDOM (void (self ^. jsf "endOfStream" [toJSVal error]))
isTypeSupported ::
(MonadDOM m, ToJSString type') => MediaSource -> type' -> m Bool
isTypeSupported self type'
= liftDOM
((self ^. jsf "isTypeSupported" [toJSVal type']) >>= valToBool)
isTypeSupported_ ::
(MonadDOM m, ToJSString type') => MediaSource -> type' -> m ()
isTypeSupported_ self type'
= liftDOM (void (self ^. jsf "isTypeSupported" [toJSVal type']))
getSourceBuffers ::
(MonadDOM m) => MediaSource -> m (Maybe SourceBufferList)
getSourceBuffers self
= liftDOM ((self ^. js "sourceBuffers") >>= fromJSVal)
getSourceBuffersUnsafe ::
(MonadDOM m, HasCallStack) => MediaSource -> m SourceBufferList
getSourceBuffersUnsafe self
= liftDOM
(((self ^. js "sourceBuffers") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getSourceBuffersUnchecked ::
(MonadDOM m) => MediaSource -> m SourceBufferList
getSourceBuffersUnchecked self
= liftDOM ((self ^. js "sourceBuffers") >>= fromJSValUnchecked)
getActiveSourceBuffers ::
(MonadDOM m) => MediaSource -> m (Maybe SourceBufferList)
getActiveSourceBuffers self
= liftDOM ((self ^. js "activeSourceBuffers") >>= fromJSVal)
getActiveSourceBuffersUnsafe ::
(MonadDOM m, HasCallStack) => MediaSource -> m SourceBufferList
getActiveSourceBuffersUnsafe self
= liftDOM
(((self ^. js "activeSourceBuffers") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getActiveSourceBuffersUnchecked ::
(MonadDOM m) => MediaSource -> m SourceBufferList
getActiveSourceBuffersUnchecked self
= liftDOM
((self ^. js "activeSourceBuffers") >>= fromJSValUnchecked)
setDuration :: (MonadDOM m) => MediaSource -> Double -> m ()
setDuration self val
= liftDOM (self ^. jss "duration" (toJSVal val))
getDuration :: (MonadDOM m) => MediaSource -> m Double
getDuration self
= liftDOM ((self ^. js "duration") >>= valToNumber)
getReadyState ::
(MonadDOM m, FromJSString result) => MediaSource -> m result
getReadyState self
= liftDOM ((self ^. js "readyState") >>= fromJSValUnchecked)