@@ -7,7 +7,7 @@ import scala.scalajs.js
7
7
import scala .scalajs .js .|
8
8
import scala .scalajs .js .annotation ._
9
9
10
- import org .scalajs .dom .raw .{DOMError , Event , EventInit , EventTarget }
10
+ import org .scalajs .dom .raw .{DOMError , Event , EventInit , EventTarget , TimeRanges }
11
11
12
12
/**
13
13
* The MediaStream
@@ -647,3 +647,178 @@ trait MediaTrackSupportedConstraints extends js.Object {
647
647
var deviceId : js.UndefOr [Boolean ] = js.undefined
648
648
var groupId : js.UndefOr [Boolean ] = js.undefined
649
649
}
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