{-# 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) 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 MediaSource -- | newMediaSource :: (MonadIO m) => m MediaSource newMediaSource = liftIO (js_newMediaSource) foreign import javascript unsafe "$1[\"addSourceBuffer\"]($2)" js_addSourceBuffer :: MediaSource -> JSString -> IO (Nullable SourceBuffer) -- | addSourceBuffer :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m (Maybe SourceBuffer) addSourceBuffer self type' = liftIO (nullableToMaybe <$> (js_addSourceBuffer (self) (toJSString type'))) foreign import javascript unsafe "$1[\"removeSourceBuffer\"]($2)" js_removeSourceBuffer :: MediaSource -> Nullable SourceBuffer -> IO () -- | removeSourceBuffer :: (MonadIO m) => MediaSource -> Maybe SourceBuffer -> m () removeSourceBuffer self buffer = liftIO (js_removeSourceBuffer (self) (maybeToNullable buffer)) foreign import javascript unsafe "$1[\"endOfStream\"]($2)" js_endOfStream :: MediaSource -> JSRef -> IO () -- | endOfStream :: (MonadIO m) => MediaSource -> EndOfStreamError -> m () endOfStream self error = liftIO (js_endOfStream (self) (pToJSRef 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')) foreign import javascript unsafe "$1[\"sourceBuffers\"]" js_getSourceBuffers :: MediaSource -> IO (Nullable SourceBufferList) -- | getSourceBuffers :: (MonadIO m) => MediaSource -> m (Maybe SourceBufferList) getSourceBuffers self = liftIO (nullableToMaybe <$> (js_getSourceBuffers (self))) foreign import javascript unsafe "$1[\"activeSourceBuffers\"]" js_getActiveSourceBuffers :: MediaSource -> IO (Nullable SourceBufferList) -- | getActiveSourceBuffers :: (MonadIO m) => MediaSource -> m (Maybe SourceBufferList) getActiveSourceBuffers self = liftIO (nullableToMaybe <$> (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 JSString -- | getReadyState :: (MonadIO m, FromJSString result) => MediaSource -> m result getReadyState self = liftIO (fromJSString <$> (js_getReadyState (self)))