Skip to content

Commit

Permalink
fix args in navigatorDisplaymedia
Browse files Browse the repository at this point in the history
  • Loading branch information
USAMAWIZARD committed Feb 13, 2025
1 parent 62daa56 commit c9d7dc7
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/main/js/media_manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -560,11 +560,11 @@ export class MediaManager {

/**
* Called to get display media (screen share)
*
* @param {*} streamId
* @param {*} mediaConstraints : media constaint
* @param {*} func : callback on success. The stream which is got, is passed as parameter to this function
*/
navigatorDisplayMedia(mediaConstraints, func) {
navigatorDisplayMedia(streamId,mediaConstraints, func) {
return navigator.mediaDevices.getDisplayMedia(mediaConstraints)
.then((stream) => {
if (typeof func != "undefined") {
Expand Down Expand Up @@ -611,7 +611,7 @@ export class MediaManager {

// Check Media Constraint video value screen or screen + camera
if (this.publishMode == "screen+camera" || this.publishMode == "screen") {
return this.navigatorDisplayMedia(mediaConstraints).then(stream => {
return this.navigatorDisplayMedia(streamId,mediaConstraints).then(stream => {

Check warning on line 614 in src/main/js/media_manager.js

View check run for this annotation

Codecov / codecov/patch

src/main/js/media_manager.js#L614

Added line #L614 was not covered by tests
if (this.smallVideoTrack)
this.smallVideoTrack.stop();
return this.prepareStreamTracks(mediaConstraints, audioConstraint, stream, streamId);
Expand Down
45 changes: 45 additions & 0 deletions src/test/js/media_manager.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,51 @@ describe("MediaManager", function () {
});


it("testArgsNavigatorDisplayMedia", async function () {
var adaptor = new WebRTCAdaptor({
websocketURL: "ws://example.com",
});

var mediaManager = new MediaManager({
userParameters: {
mediaConstraints: {
video: false,
audio: true,
}
},
webRTCAdaptor: adaptor,

callback: (info, obj) => {
adaptor.notifyEventListeners(info, obj)
},
callbackError: (error, message) => {
adaptor.notifyErrorEventListeners(error, message)
},
getSender: (streamId, type) => {
return adaptor.getSender(streamId, type)
},
});
var costraints = {mediaConstraints: {
video: false,
audio: true,
}}

const callback = ()=>{
alert("tst");
}

var getDisplayMediaStub = sinon.stub(navigator.mediaDevices, "getDisplayMedia")
.rejects(new DOMException("Permission denied", "NotAllowedError"));

var switchVideoCameraCaptureStub = sinon.stub(mediaManager, "switchVideoCameraCapture")

mediaManager.localStream = "test";

await mediaManager.navigatorDisplayMedia("stream123",costraints,callback);
sinon.assert.calledWith(switchVideoCameraCaptureStub, "stream123");

});

it("getBlackVideoTrack", async function () {
var adaptor = new WebRTCAdaptor({
websocketURL: "ws://example.com",
Expand Down

0 comments on commit c9d7dc7

Please sign in to comment.