{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.MediaSource (js_newMediaSource, newMediaSource, js_addSourceBuffer, addSourceBuffer, addSourceBuffer_, js_removeSourceBuffer, removeSourceBuffer, js_endOfStream, endOfStream, js_isTypeSupported, isTypeSupported, isTypeSupported_, js_setLiveSeekableRange, setLiveSeekableRange, js_clearLiveSeekableRange, clearLiveSeekableRange, js_getSourceBuffers, getSourceBuffers, js_getActiveSourceBuffers, getActiveSourceBuffers, js_setDuration, setDuration, js_getDuration, getDuration, js_getReadyState, getReadyState, sourceopen, sourceended, sourceclose, MediaSource(..), gTypeMediaSource) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "new window[\"MediaSource\"]()" js_newMediaSource :: IO MediaSource -- | newMediaSource :: (MonadIO m) => m MediaSource newMediaSource = liftIO (js_newMediaSource) foreign import javascript unsafe "$1[\"addSourceBuffer\"]($2)" js_addSourceBuffer :: MediaSource -> JSString -> IO SourceBuffer -- | addSourceBuffer :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m SourceBuffer addSourceBuffer self type' = liftIO (js_addSourceBuffer self (toJSString type')) -- | addSourceBuffer_ :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m () addSourceBuffer_ self type' = liftIO (void (js_addSourceBuffer self (toJSString type'))) foreign import javascript unsafe "$1[\"removeSourceBuffer\"]($2)" js_removeSourceBuffer :: MediaSource -> SourceBuffer -> IO () -- | removeSourceBuffer :: (MonadIO m) => MediaSource -> SourceBuffer -> m () removeSourceBuffer self buffer = liftIO (js_removeSourceBuffer self buffer) foreign import javascript unsafe "$1[\"endOfStream\"]($2)" js_endOfStream :: MediaSource -> Optional EndOfStreamError -> IO () -- | endOfStream :: (MonadIO m) => MediaSource -> Maybe EndOfStreamError -> m () endOfStream self error = liftIO (js_endOfStream self (maybeToOptional error)) foreign import javascript unsafe "($1[\"isTypeSupported\"]($2) ? 1 : 0)" js_isTypeSupported :: MediaSource -> JSString -> IO Bool -- | isTypeSupported :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m Bool isTypeSupported self type' = liftIO (js_isTypeSupported self (toJSString type')) -- | isTypeSupported_ :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m () isTypeSupported_ self type' = liftIO (void (js_isTypeSupported self (toJSString type'))) foreign import javascript unsafe "$1[\"setLiveSeekableRange\"]($2,\n$3)" js_setLiveSeekableRange :: MediaSource -> Double -> Double -> IO () -- | setLiveSeekableRange :: (MonadIO m) => MediaSource -> Double -> Double -> m () setLiveSeekableRange self start end = liftIO (js_setLiveSeekableRange self start end) foreign import javascript unsafe "$1[\"clearLiveSeekableRange\"]()" js_clearLiveSeekableRange :: MediaSource -> IO () -- | clearLiveSeekableRange :: (MonadIO m) => MediaSource -> m () clearLiveSeekableRange self = liftIO (js_clearLiveSeekableRange self) foreign import javascript unsafe "$1[\"sourceBuffers\"]" js_getSourceBuffers :: MediaSource -> IO SourceBufferList -- | getSourceBuffers :: (MonadIO m) => MediaSource -> m SourceBufferList getSourceBuffers self = liftIO (js_getSourceBuffers self) foreign import javascript unsafe "$1[\"activeSourceBuffers\"]" js_getActiveSourceBuffers :: MediaSource -> IO SourceBufferList -- | getActiveSourceBuffers :: (MonadIO m) => MediaSource -> m SourceBufferList getActiveSourceBuffers self = liftIO (js_getActiveSourceBuffers self) foreign import javascript unsafe "$1[\"duration\"] = $2;" js_setDuration :: MediaSource -> Double -> IO () -- | setDuration :: (MonadIO m) => MediaSource -> Double -> m () setDuration self val = liftIO (js_setDuration self val) foreign import javascript unsafe "$1[\"duration\"]" js_getDuration :: MediaSource -> IO Double -- | getDuration :: (MonadIO m) => MediaSource -> m Double getDuration self = liftIO (js_getDuration self) foreign import javascript unsafe "$1[\"readyState\"]" js_getReadyState :: MediaSource -> IO JSVal -- | getReadyState :: (MonadIO m) => MediaSource -> m ReadyState getReadyState self = liftIO ((js_getReadyState self) >>= fromJSValUnchecked) -- | sourceopen :: EventName MediaSource onsourceopen sourceopen = unsafeEventName (toJSString "sourceopen") -- | sourceended :: EventName MediaSource onsourceended sourceended = unsafeEventName (toJSString "sourceended") -- | sourceclose :: EventName MediaSource onsourceclose sourceclose = unsafeEventName (toJSString "sourceclose")