{-# 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_, addSourceBufferUnsafe, addSourceBufferUnchecked, js_removeSourceBuffer, removeSourceBuffer, js_endOfStream, endOfStream, js_isTypeSupported, isTypeSupported, isTypeSupported_, js_getSourceBuffers, getSourceBuffers, getSourceBuffersUnsafe, getSourceBuffersUnchecked, js_getActiveSourceBuffers, getActiveSourceBuffers, getActiveSourceBuffersUnsafe, getActiveSourceBuffersUnchecked, js_setDuration, setDuration, js_getDuration, getDuration, js_getReadyState, getReadyState, 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) 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 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 (Nullable SourceBuffer) -- | addSourceBuffer :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m (Maybe SourceBuffer) addSourceBuffer self type' = liftIO (nullableToMaybe <$> (js_addSourceBuffer (self) (toJSString type'))) -- | addSourceBuffer_ :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m () addSourceBuffer_ self type' = liftIO (void (js_addSourceBuffer (self) (toJSString type'))) -- | addSourceBufferUnsafe :: (MonadIO m, ToJSString type', HasCallStack) => MediaSource -> type' -> m SourceBuffer addSourceBufferUnsafe self type' = liftIO ((nullableToMaybe <$> (js_addSourceBuffer (self) (toJSString type'))) >>= maybe (Prelude.error "Nothing to return") return) -- | addSourceBufferUnchecked :: (MonadIO m, ToJSString type') => MediaSource -> type' -> m SourceBuffer addSourceBufferUnchecked self type' = liftIO (fromJust . 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 -> JSVal -> IO () -- | endOfStream :: (MonadIO m) => MediaSource -> EndOfStreamError -> m () endOfStream self error = liftIO (js_endOfStream (self) (pToJSVal 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[\"sourceBuffers\"]" js_getSourceBuffers :: MediaSource -> IO (Nullable SourceBufferList) -- | getSourceBuffers :: (MonadIO m) => MediaSource -> m (Maybe SourceBufferList) getSourceBuffers self = liftIO (nullableToMaybe <$> (js_getSourceBuffers (self))) -- | getSourceBuffersUnsafe :: (MonadIO m, HasCallStack) => MediaSource -> m SourceBufferList getSourceBuffersUnsafe self = liftIO ((nullableToMaybe <$> (js_getSourceBuffers (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getSourceBuffersUnchecked :: (MonadIO m) => MediaSource -> m SourceBufferList getSourceBuffersUnchecked self = liftIO (fromJust . 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))) -- | getActiveSourceBuffersUnsafe :: (MonadIO m, HasCallStack) => MediaSource -> m SourceBufferList getActiveSourceBuffersUnsafe self = liftIO ((nullableToMaybe <$> (js_getActiveSourceBuffers (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getActiveSourceBuffersUnchecked :: (MonadIO m) => MediaSource -> m SourceBufferList getActiveSourceBuffersUnchecked self = liftIO (fromJust . 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)))