{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} module GHCJS.DOM.JSFFI.Generated.MediaStream (js_newMediaStream, newMediaStream, js_newMediaStream', newMediaStream', js_newMediaStream'', newMediaStream'', js_getAudioTracks, getAudioTracks, getAudioTracks_, js_getVideoTracks, getVideoTracks, getVideoTracks_, js_getTracks, getTracks, getTracks_, js_addTrack, addTrack, js_removeTrack, removeTrack, js_getTrackById, getTrackById, getTrackById_, getTrackByIdUnchecked, js_clone, clone, clone_, cloneUnchecked, 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 (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[\"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'' :: JSVal -> IO MediaStream -- | newMediaStream'' :: (MonadIO m, IsMediaStreamTrack tracks) => [Maybe tracks] -> m MediaStream newMediaStream'' tracks = liftIO (toJSVal tracks >>= \ tracks' -> js_newMediaStream'' tracks') foreign import javascript unsafe "$1[\"getAudioTracks\"]()" js_getAudioTracks :: MediaStream -> IO JSVal -- | getAudioTracks :: (MonadIO m) => MediaStream -> m [Maybe MediaStreamTrack] getAudioTracks self = liftIO ((js_getAudioTracks (self)) >>= fromJSValUnchecked) -- | getAudioTracks_ :: (MonadIO m) => MediaStream -> m () getAudioTracks_ self = liftIO (void (js_getAudioTracks (self))) foreign import javascript unsafe "$1[\"getVideoTracks\"]()" js_getVideoTracks :: MediaStream -> IO JSVal -- | getVideoTracks :: (MonadIO m) => MediaStream -> m [Maybe MediaStreamTrack] getVideoTracks self = liftIO ((js_getVideoTracks (self)) >>= fromJSValUnchecked) -- | getVideoTracks_ :: (MonadIO m) => MediaStream -> m () getVideoTracks_ self = liftIO (void (js_getVideoTracks (self))) foreign import javascript unsafe "$1[\"getTracks\"]()" js_getTracks :: MediaStream -> IO JSVal -- | getTracks :: (MonadIO m) => MediaStream -> m [Maybe MediaStreamTrack] getTracks self = liftIO ((js_getTracks (self)) >>= fromJSValUnchecked) -- | getTracks_ :: (MonadIO m) => MediaStream -> m () getTracks_ self = liftIO (void (js_getTracks (self))) 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))) -- | getTrackById_ :: (MonadIO m, ToJSString trackId) => MediaStream -> trackId -> m () getTrackById_ self trackId = liftIO (void (js_getTrackById (self) (toJSString trackId))) -- | getTrackByIdUnchecked :: (MonadIO m, ToJSString trackId) => MediaStream -> trackId -> m MediaStreamTrack getTrackByIdUnchecked self trackId = liftIO (fromJust . 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))) -- | clone_ :: (MonadIO m) => MediaStream -> m () clone_ self = liftIO (void (js_clone (self))) -- | cloneUnchecked :: (MonadIO m) => MediaStream -> m MediaStream cloneUnchecked self = liftIO (fromJust . 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")