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