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