{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} 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)