{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.MediaSource (newMediaSource, addSourceBuffer, removeSourceBuffer, endOfStream, isTypeSupported, getSourceBuffers, getActiveSourceBuffers, setDuration, getDuration, getReadyState, MediaSource, castToMediaSource, gTypeMediaSource) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) 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 Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.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) -- | 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) -- | getSourceBuffers :: (MonadDOM m) => MediaSource -> m (Maybe SourceBufferList) getSourceBuffers self = liftDOM ((self ^. js "sourceBuffers") >>= fromJSVal) -- | getActiveSourceBuffers :: (MonadDOM m) => MediaSource -> m (Maybe SourceBufferList) getActiveSourceBuffers self = liftDOM ((self ^. js "activeSourceBuffers") >>= fromJSVal) -- | 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)