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