MCPcopy Create free account
hub / github.com/Wscats/chrome-devtools-cli / MediaRecorderWrapper

Function MediaRecorderWrapper

src/__tests__/MediaStreamRecorder.js:1056–1366  ·  view source on GitHub ↗

* Implementation of https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/MediaRecorder.html * The MediaRecorder accepts a mediaStream as input source passed from UA. When recorder starts, * a MediaEncoder will be created and accept the mediaStream as input source. * Encoder will get t

(mediaStream)

Source from the content-addressed store, hash-verified

1054 */
1055
1056function MediaRecorderWrapper(mediaStream) {
1057 var self = this;
1058
1059 /**
1060 * This method records MediaStream.
1061 * @method
1062 * @memberof MediaStreamRecorder
1063 * @example
1064 * recorder.start(5000);
1065 */
1066 this.start = function(timeSlice, __disableLogs) {
1067 this.timeSlice = timeSlice || 5000;
1068
1069 if (!self.mimeType) {
1070 self.mimeType = 'video/webm';
1071 }
1072
1073 if (self.mimeType.indexOf('audio') !== -1) {
1074 if (mediaStream.getVideoTracks().length && mediaStream.getAudioTracks().length) {
1075 var stream;
1076 if (!!navigator.mozGetUserMedia) {
1077 stream = new MediaStream();
1078 stream.addTrack(mediaStream.getAudioTracks()[0]);
1079 } else {
1080 // webkitMediaStream
1081 stream = new MediaStream(mediaStream.getAudioTracks());
1082 }
1083 mediaStream = stream;
1084 }
1085 }
1086
1087 if (self.mimeType.indexOf('audio') !== -1) {
1088 self.mimeType = IsChrome ? 'audio/webm' : 'audio/ogg';
1089 }
1090
1091 self.dontFireOnDataAvailableEvent = false;
1092
1093 var recorderHints = {
1094 mimeType: self.mimeType
1095 };
1096
1097 if (!self.disableLogs && !__disableLogs) {
1098 console.log('Passing following params over MediaRecorder API.', recorderHints);
1099 }
1100
1101 if (mediaRecorder) {
1102 // mandatory to make sure Firefox doesn't fails to record streams 3-4 times without reloading the page.
1103 mediaRecorder = null;
1104 }
1105
1106 if (IsChrome && !isMediaRecorderCompatible()) {
1107 // to support video-only recording on stable
1108 recorderHints = 'video/vp8';
1109 }
1110
1111 // http://dxr.mozilla.org/mozilla-central/source/content/media/MediaRecorder.cpp
1112 // https://wiki.mozilla.org/Gecko:MediaRecorder
1113 // https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/MediaRecorder.html

Callers

nothing calls this directly

Calls 2

isMediaStreamActiveFunction · 0.85

Tested by

no test coverage detected