@@ -7,7 +7,9 @@ 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 .{
11
+ DOMError , Event , EventInit , EventTarget , TimeRanges
12
+ }
11
13
12
14
/**
13
15
* The MediaStream
@@ -647,3 +649,178 @@ trait MediaTrackSupportedConstraints extends js.Object {
647
649
var deviceId : js.UndefOr [Boolean ] = js.undefined
648
650
var groupId : js.UndefOr [Boolean ] = js.undefined
649
651
}
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