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