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_,
getTrackByIdUnsafe, getTrackByIdUnchecked, js_clone, clone, clone_,
cloneUnsafe, cloneUnchecked, js_getId, getId, js_getActive,
getActive, active, inactive, addTrackEvent, removeTrackEvent,
MediaStream(..), gTypeMediaStream)
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[\"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)))
getTrackByIdUnsafe ::
(MonadIO m, ToJSString trackId, HasCallStack) =>
MediaStream -> trackId -> m MediaStreamTrack
getTrackByIdUnsafe self trackId
= liftIO
((nullableToMaybe <$>
(js_getTrackById (self) (toJSString trackId)))
>>= maybe (Prelude.error "Nothing to return") return)
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)))
cloneUnsafe ::
(MonadIO m, HasCallStack) => MediaStream -> m MediaStream
cloneUnsafe self
= liftIO
((nullableToMaybe <$> (js_clone (self))) >>=
maybe (Prelude.error "Nothing to return") return)
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")