Firefox issue

sebastien

New Member
Hi

I build a conference call and its work in chrome, opera, safari, samsung internet but in Firefox i have some issues. First of all i have secured the server with an ssl key. The problem that I have is when I use Firefox and I join an existing room the session disconnect often. It reconnects but disconnect immediately.

The other problem that i have is about the reception of the media. Everything work with the other browser, but Firefox received the WEBRTC CACHED INSTANCE and the video is there but the audio is not working. i have this error message (' Uncaught (in promise) DOMException: No transceiver for bundled mid 1 ')

i'll send the logs

Thank in advance
 

Max

Administrator
Staff member
Good day.
Please update to latest WCS build 5.2.695 and check.
If the issue still persists, it seems like a known issue for which we already testing the fix in ticket WCS-2787. The workaround is to disable RTP bundle support in server settings
Code:
rtp_bundle=false
 

sebastien

New Member
First of all, thank for the fast answer you are phenomenal administrator one of the best i've seen. (i spend some time in the forum try to figure it out, that why i know.)

i apologize for the late response, my client wanted to make the update himself so i add to wait until it was done.

The solution works, i was able to hear sound on the Firefox end, but it revealed to me another problem.

I have two types of user in the conference call, one operator and all the other are users.

The operator have constraints of audio:true and video:true
and they are activated manually and separatly. With Firefox the microphone wont work until i activated the cameras, even if i initially give it the constraint audio:true and video false. if the operator activates it cameras i stop the stream and restart the process with constraint audio: true and video: true.

For the users the sound never work probably because it does not have any way of activate the cameras because they are not supposed to.

In both situation i have the same error in the console
error message (' Uncaught (in promise) DOMException: No transceiver for bundled mid 1 ')

from what i've seen is this post:

Firefox would need to receive constraint when it create the stream so here the code of when i'm doing it

Code:
function publishLocalMedia(room, constraints = { audio: true, video: false}) {

    info_room = room

    var display = document.getElementById("localDisplay");

    if_operateur = document.getElementById('loginID').innerHTML

    if(if_operateur == 'operateur'){

        var display = document.getElementById("localDisplayOperateur");

        display.style.width = "60%"

        $("#localVideoToggle").removeClass("fa-video");

        $("#localVideoToggle").addClass("fa-video-slash");

        $("#localVideo").addClass("muted");

        if(theLanguage == "fr"){

            $("#localVideoToggleText").text("Activer");

        }else{

            $("#localVideoToggleText").text("Activate");

        }

        op_cameras_state(0)

        console.log('operateur constraint')

    }else{

        var constraints = {

            audio: true,

            video: false,

        };

    }

    if(firstTime != true){

        room.publish({

            display: display,

            constraints: constraints,

            record: false,

            receiveVideo: true,

            receiveAudio: false

        }).on(STREAM_STATUS.FAILED, function (stream) {

            self_stream = stream

            console.warn("Local stream failed!");

            setStatus("#localStatus", stream.status());

            onMediaStopped(room);

        }).on(STREAM_STATUS.PUBLISHING, function (stream) {

            self_stream = stream

            setStatus("#localStatus", stream.status());

            onMediaPublished(stream,room);

        }).on(STREAM_STATUS.UNPUBLISHED, function(stream) {

            self_stream = stream

            setStatus("#localStatus", stream.status());

            onMediaStopped(room);

        });

    }else{

        onMediaPublished(self_stream)

    }

}
i believe that, since it when i receive the stream of other, the constraint should be call here

Code:
function playParticipantsStream(participant) {

    if (participant.getStreams().length > 0) {

        $("[id$=Name]").each(function (index, value) {

            if ($(value).text() == participant.name()) {

                var p = value.id.replace('Name', '');

                var pDisplay = p + 'Display';

                if(participant.name() == 'operateur')

                pDisplay = 'localDisplayOperateur'

                participant.getStreams()[0].play(document.getElementById(pDisplay)).on(STREAM_STATUS.PLAYING, function (playingStream) {

                    document.getElementById(playingStream.id()).addEventListener('resize', function (event) {resizeVideo(event.target);});

                });

            }

        });

    }

}
if i'm right where should i put the constraint?

overall, operator does not have sound until the cameras on even if the initial constraint is video: false
and users does not have sound probably because they don't have the possibility of activate the cameras.

all the other browser seems to get it, but not Firefox.

Thanks again
 
Last edited by a moderator:

Max

Administrator
Staff member
With Firefox the microphone wont work until i activated the cameras, even if i initially give it the constraint audio:true and video false. if the operator activates it cameras i stop the stream and restart the process with constraint audio: true and video: true.

For the users the sound never work probably because it does not have any way of activate the cameras because they are not supposed to.
This is Firefox bug, we reported it and they will fix it in 79 or 80 https://bugzilla.mozilla.org/show_bug.cgi?id=1652426#c7
The workaround is to play audio only stream in Firefox with constraints
Code:
constraints: {audio: true, video: false}
 

Max

Administrator
Staff member
Good day.
We fixed ICE timeout issue in Firefox when RTP bundle is enabled (WCS-2787) in build 5.2.701. Please update and check
 
Top