@@ -6,7 +6,7 @@ package org.scalajs.dom.experimental.mediastream
66import scala .scalajs .js
77import scala .scalajs .js .|
88import scala .scalajs .js .annotation ._
9- import org .scalajs .dom .raw .{DOMException , Event , EventInit , EventTarget }
9+ import org .scalajs .dom .raw .{DOMError , DOMException , Event , EventInit , EventTarget , TimeRanges }
1010
1111/**
1212 * The MediaStream
@@ -638,3 +638,178 @@ trait MediaTrackSupportedConstraints extends js.Object {
638638 var deviceId : js.UndefOr [Boolean ] = js.undefined
639639 var groupId : js.UndefOr [Boolean ] = js.undefined
640640}
641+
642+ /**
643+ * Represents a source of media data for an HTMLMediaElement object.
644+ *
645+ * A MediaSource object can be attached to a HTMLMediaElement to be played in the user agent.
646+ */
647+ @ js.native
648+ @ JSGlobal
649+ class MediaSource extends EventTarget {
650+ def sourceBueffers : SourceBufferList = js.native
651+ def activeSourceBuffers : SourceBufferList = js.native
652+ def readyState : ReadyState = js.native
653+
654+ /**
655+ * Allows the web application to set the presentation duration.
656+ *
657+ * The duration is initially set to NaN when the MediaSource object is created.
658+ */
659+ var duration : Double = js.native
660+
661+ var onsourceopen : js.Function1 [Event , Any ] = js.native
662+ var onsourceended : js.Function1 [Event , Any ] = js.native
663+ var onsourceclose : js.Function1 [Event , Any ] = js.native
664+
665+ def addSourceBuffer (bufferType : String ): SourceBuffer = js.native
666+ def removeSourceBuffer (sourceBuffer : SourceBuffer ): Unit = js.native
667+ def endOfStream (error : js.UndefOr [EndOfStreamError ] = ??? ): Unit = js.native
668+ def setLiveSeekableRange (start : Double , end : Double ): Unit = js.native
669+ def clearLiveSeekableRange (): Unit = js.native
670+ }
671+
672+ @ js.native
673+ @ JSGlobalScope
674+ object MediaSource extends js.Object {
675+ def isTypeSupported (mediaType : String ): Boolean = js.native
676+ }
677+
678+ @ js.native
679+ trait SourceBufferList extends EventTarget {
680+ def length : Double = js.native
681+
682+ @ JSBracketAccess
683+ def apply (index : Double ): SourceBuffer = js.native
684+
685+ var onaddsourcebuffer : js.Function1 [Event , Any ] = js.native
686+ var onremovesourcebuffer : js.Function1 [Event , Any ] = js.native
687+ }
688+
689+ @ js.native
690+ trait SourceBuffer extends EventTarget {
691+ var mode : AppendMode = js.native
692+ var timestampOffset : Double = js.native
693+
694+ def updating : Boolean = js.native
695+ def buffered : TimeRanges = js.native
696+
697+ def audioTracks : AudioTrackList = js.native
698+ def videoTracks : VideoTrackList = js.native
699+ def textTracks : TextTrackList = js.native
700+
701+ var appendWindowStart : Double = js.native
702+ var appendWindowEnd : Double = js.native
703+
704+ var onupdatestart : js.Function1 [Event , Any ] = js.native
705+ var onupdate : js.Function1 [Event , Any ] = js.native
706+ var onupdateend : js.Function1 [Event , Any ] = js.native
707+ var onerror : js.Function1 [Event , Any ] = js.native
708+ var onabort : js.Function1 [Event , Any ] = js.native
709+
710+ def appendBuffer (data : BufferSource ): Unit = js.native
711+ def abort (): Unit = js.native
712+ def remove (start : Double , end : Double ): Unit = js.native
713+ }
714+
715+ @ js.native
716+ trait AudioTrackList extends EventTarget {
717+ def length : Double = js.native
718+
719+ @ JSBracketAccess
720+ def apply (index : Double ): AudioTrack = js.native
721+
722+ def getTrackById (id : String ): js.UndefOr [AudioTrack ] = js.native
723+
724+ var onchange : js.Function1 [Event , Any ] = js.native
725+ var onaddtrack : js.Function1 [Event , Any ] = js.native
726+ var onremovetrack : js.Function1 [Event , Any ] = js.native
727+ }
728+
729+ @ js.native
730+ trait AudioTrack extends js.Object {
731+ val id : String = js.native
732+ val kind : String = js.native
733+ val label : String = js.native
734+ val language : String = js.native
735+ var enabled : Boolean = js.native
736+ }
737+
738+ @ js.native
739+ trait VideoTrackList extends EventTarget {
740+ def length : Double = js.native
741+
742+ @ JSBracketAccess
743+ def apply (index : Double ): VideoTrack = js.native
744+
745+ def getTrackById (id : String ): js.UndefOr [VideoTrack ] = js.native
746+
747+ def selectedIndex : Double = js.native
748+
749+ var onchange : js.Function1 [Event , Any ] = js.native
750+ var onaddtrack : js.Function1 [Event , Any ] = js.native
751+ var onremovetrack : js.Function1 [Event , Any ] = js.native
752+ }
753+ @ js.native
754+ trait VideoTrack extends js.Object {
755+ val id : String = js.native
756+ val kind : String = js.native
757+ val label : String = js.native
758+ val language : String = js.native
759+ var selected : Boolean = js.native
760+ }
761+ @ js.native
762+ trait TextTrackList extends EventTarget {
763+
764+ def length : Double = js.native
765+
766+ @ JSBracketAccess
767+ def apply (index : Double ): VideoTrack = js.native
768+
769+ def getTrackById (id : String ): js.UndefOr [TextTrack ] = js.native;
770+
771+ var onchange : js.Function1 [Event , Any ] = js.native
772+ var onaddtrack : js.Function1 [Event , Any ] = js.native
773+ var onremovetrack : js.Function1 [Event , Any ] = js.native
774+ }
775+ @ js.native
776+ trait TextTrack extends EventTarget {
777+ val id : String = js.native
778+ val kind : String = js.native
779+ val label : String = js.native
780+ val language : String = js.native
781+ val inBandMetadataTrackDispatchType : String = js.native
782+
783+ var mode : TextTrackMode = js.native
784+
785+ def cues : js.UndefOr [TextTrackCueList ] = js.native
786+ def activeCues : js.UndefOr [TextTrackCueList ] = js.native
787+
788+ def addCue (cue : TextTrackCue ): Unit = js.native
789+ def removeCue (cue : TextTrackCue ): Unit = js.native
790+
791+ var oncuechange : js.Function1 [Event , Any ] = js.native
792+ }
793+
794+ @ js.native
795+ trait TextTrackCueList extends js.Object {
796+ def length : Double = js.native
797+
798+ @ JSBracketAccess
799+ def apply (index : Double ): TextTrackCue = js.native
800+
801+ def getCueById (id : String ): js.UndefOr [TextTrackCue ] = js.native;
802+ }
803+
804+ @ js.native
805+ trait TextTrackCue extends EventTarget {
806+ def track : js.UndefOr [TextTrack ] = js.native
807+
808+ var id : String = js.native
809+ var startTime : Double = js.native
810+ var endTime : Double = js.native
811+ var pauseOnExit : Boolean = js.native
812+
813+ var onenter : js.Function1 [Event , Any ] = js.native
814+ var onexit : js.Function1 [Event , Any ] = js.native
815+ }
0 commit comments