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