{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} module GHCJS.DOM.JSFFI.Generated.MediaStream (js_newMediaStream, newMediaStream, js_newMediaStream', newMediaStream', js_newMediaStream'', newMediaStream'', js_getAudioTracks, getAudioTracks, js_getVideoTracks, getVideoTracks, js_getTracks, getTracks, js_addTrack, addTrack, js_removeTrack, removeTrack, js_getTrackById, getTrackById, js_clone, clone, js_getId, getId, js_getActive, getActive, active, inactive, addTrackEvent, removeTrackEvent, MediaStream, castToMediaStream, gTypeMediaStream) 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[\"webkitMediaStream\"]()" js_newMediaStream :: IO MediaStream -- | newMediaStream :: (MonadIO m) => m MediaStream newMediaStream = liftIO (js_newMediaStream) foreign import javascript unsafe "new window[\"webkitMediaStream\"]($1)" js_newMediaStream' :: Nullable MediaStream -> IO MediaStream -- | newMediaStream' :: (MonadIO m) => Maybe MediaStream -> m MediaStream newMediaStream' stream = liftIO (js_newMediaStream' (maybeToNullable stream)) foreign import javascript unsafe "new window[\"webkitMediaStream\"]($1)" js_newMediaStream'' :: JSRef -> IO MediaStream -- | newMediaStream'' :: (MonadIO m, IsMediaStreamTrack tracks) => [Maybe tracks] -> m MediaStream newMediaStream'' tracks = liftIO (toJSRef tracks >>= \ tracks' -> js_newMediaStream'' tracks') foreign import javascript unsafe "$1[\"getAudioTracks\"]()" js_getAudioTracks :: MediaStream -> IO JSRef -- | getAudioTracks :: (MonadIO m) => MediaStream -> m [Maybe MediaStreamTrack] getAudioTracks self = liftIO ((js_getAudioTracks (self)) >>= fromJSRefUnchecked) foreign import javascript unsafe "$1[\"getVideoTracks\"]()" js_getVideoTracks :: MediaStream -> IO JSRef -- | getVideoTracks :: (MonadIO m) => MediaStream -> m [Maybe MediaStreamTrack] getVideoTracks self = liftIO ((js_getVideoTracks (self)) >>= fromJSRefUnchecked) foreign import javascript unsafe "$1[\"getTracks\"]()" js_getTracks :: MediaStream -> IO JSRef -- | getTracks :: (MonadIO m) => MediaStream -> m [Maybe MediaStreamTrack] getTracks self = liftIO ((js_getTracks (self)) >>= fromJSRefUnchecked) foreign import javascript unsafe "$1[\"addTrack\"]($2)" js_addTrack :: MediaStream -> Nullable MediaStreamTrack -> IO () -- | addTrack :: (MonadIO m, IsMediaStreamTrack track) => MediaStream -> Maybe track -> m () addTrack self track = liftIO (js_addTrack (self) (maybeToNullable (fmap toMediaStreamTrack track))) foreign import javascript unsafe "$1[\"removeTrack\"]($2)" js_removeTrack :: MediaStream -> Nullable MediaStreamTrack -> IO () -- | removeTrack :: (MonadIO m, IsMediaStreamTrack track) => MediaStream -> Maybe track -> m () removeTrack self track = liftIO (js_removeTrack (self) (maybeToNullable (fmap toMediaStreamTrack track))) foreign import javascript unsafe "$1[\"getTrackById\"]($2)" js_getTrackById :: MediaStream -> JSString -> IO (Nullable MediaStreamTrack) -- | getTrackById :: (MonadIO m, ToJSString trackId) => MediaStream -> trackId -> m (Maybe MediaStreamTrack) getTrackById self trackId = liftIO (nullableToMaybe <$> (js_getTrackById (self) (toJSString trackId))) foreign import javascript unsafe "$1[\"clone\"]()" js_clone :: MediaStream -> IO (Nullable MediaStream) -- | clone :: (MonadIO m) => MediaStream -> m (Maybe MediaStream) clone self = liftIO (nullableToMaybe <$> (js_clone (self))) foreign import javascript unsafe "$1[\"id\"]" js_getId :: MediaStream -> IO JSString -- | getId :: (MonadIO m, FromJSString result) => MediaStream -> m result getId self = liftIO (fromJSString <$> (js_getId (self))) foreign import javascript unsafe "($1[\"active\"] ? 1 : 0)" js_getActive :: MediaStream -> IO Bool -- | getActive :: (MonadIO m) => MediaStream -> m Bool getActive self = liftIO (js_getActive (self)) -- | active :: EventName MediaStream Event active = unsafeEventName (toJSString "active") -- | inactive :: EventName MediaStream Event inactive = unsafeEventName (toJSString "inactive") -- | addTrackEvent :: EventName MediaStream Event addTrackEvent = unsafeEventName (toJSString "addtrack") -- | removeTrackEvent :: EventName MediaStream Event removeTrackEvent = unsafeEventName (toJSString "removetrack")