{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} module GHCJS.DOM.JSFFI.Generated.MediaSource (js_newMediaSource, newMediaSource, js_addSourceBuffer, addSourceBuffer, js_removeSourceBuffer, removeSourceBuffer, js_endOfStream, endOfStream, js_isTypeSupported, isTypeSupported, js_getSourceBuffers, getSourceBuffers, js_getActiveSourceBuffers, getActiveSourceBuffers, js_setDuration, setDuration, js_getDuration, getDuration, js_getReadyState, getReadyState, MediaSource, castToMediaSource, gTypeMediaSource) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import Data.Typeable (Typeable) import GHCJS.Types (JSRef(..), JSString, castRef) import GHCJS.Foreign (jsNull) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSRef(..), FromJSRef(..)) import GHCJS.Marshal.Pure (PToJSRef(..), PFromJSRef(..)) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.Enums foreign import javascript unsafe "new window[\"MediaSource\"]()" js_newMediaSource :: IO (JSRef MediaSource) -- | newMediaSource :: (MonadIO m) => m MediaSource newMediaSource = liftIO (js_newMediaSource >>= fromJSRefUnchecked) foreign import javascript unsafe "$1[\"addSourceBuffer\"]($2)" js_addSourceBuffer :: JSRef MediaSource -> JSString -> IO (JSRef SourceBuffer) -- | addSourceBuffer :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m (Maybe SourceBuffer) addSourceBuffer self type' = liftIO ((js_addSourceBuffer (unMediaSource self) (toJSString type')) >>= fromJSRef) foreign import javascript unsafe "$1[\"removeSourceBuffer\"]($2)" js_removeSourceBuffer :: JSRef MediaSource -> JSRef SourceBuffer -> IO () -- | removeSourceBuffer :: (MonadIO m) => MediaSource -> Maybe SourceBuffer -> m () removeSourceBuffer self buffer = liftIO (js_removeSourceBuffer (unMediaSource self) (maybe jsNull pToJSRef buffer)) foreign import javascript unsafe "$1[\"endOfStream\"]($2)" js_endOfStream :: JSRef MediaSource -> JSRef EndOfStreamError -> IO () -- | endOfStream :: (MonadIO m) => MediaSource -> EndOfStreamError -> m () endOfStream self error = liftIO (js_endOfStream (unMediaSource self) (pToJSRef error)) foreign import javascript unsafe "($1[\"isTypeSupported\"]($2) ? 1 : 0)" js_isTypeSupported :: JSRef MediaSource -> JSString -> IO Bool -- | isTypeSupported :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m Bool isTypeSupported self type' = liftIO (js_isTypeSupported (unMediaSource self) (toJSString type')) foreign import javascript unsafe "$1[\"sourceBuffers\"]" js_getSourceBuffers :: JSRef MediaSource -> IO (JSRef SourceBufferList) -- | getSourceBuffers :: (MonadIO m) => MediaSource -> m (Maybe SourceBufferList) getSourceBuffers self = liftIO ((js_getSourceBuffers (unMediaSource self)) >>= fromJSRef) foreign import javascript unsafe "$1[\"activeSourceBuffers\"]" js_getActiveSourceBuffers :: JSRef MediaSource -> IO (JSRef SourceBufferList) -- | getActiveSourceBuffers :: (MonadIO m) => MediaSource -> m (Maybe SourceBufferList) getActiveSourceBuffers self = liftIO ((js_getActiveSourceBuffers (unMediaSource self)) >>= fromJSRef) foreign import javascript unsafe "$1[\"duration\"] = $2;" js_setDuration :: JSRef MediaSource -> Double -> IO () -- | setDuration :: (MonadIO m) => MediaSource -> Double -> m () setDuration self val = liftIO (js_setDuration (unMediaSource self) val) foreign import javascript unsafe "$1[\"duration\"]" js_getDuration :: JSRef MediaSource -> IO Double -- | getDuration :: (MonadIO m) => MediaSource -> m Double getDuration self = liftIO (js_getDuration (unMediaSource self)) foreign import javascript unsafe "$1[\"readyState\"]" js_getReadyState :: JSRef MediaSource -> IO JSString -- | getReadyState :: (MonadIO m, FromJSString result) => MediaSource -> m result getReadyState self = liftIO (fromJSString <$> (js_getReadyState (unMediaSource self)))