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