AgoraIO-Community / AgoraWebSDK-NG

The Next Generation of Agora Web SDK
https://agoraio-community.github.io/AgoraWebSDK-NG/
161 stars 75 forks source link

enableDualStream and publish video throws an error on firefox #9

Closed aravindm closed 4 years ago

aravindm commented 4 years ago

Hello,

I am trying to publish video & audio stream on firefox with enableDualStream. It throws the below error:

TypeError: l.requestFrame is not a function

I've created this fiddle, which if you open on firefox will show you the same error on console. Could you please let me know if this is a bug or if I have to do something differently to get the publish working on firefox.

Please note that this happens only if enableDualStream is set and works fine otherwise.

Thanks!

disoul commented 4 years ago

Thanks for your feedback!

It seems that firefox does not support the CanvasCaptureMediaStreamTrack.requestFrame. We will fix this in the next version.

aravindm commented 4 years ago

Ok Thanks. Any indicative dates for the next release?

disoul commented 4 years ago

Ok Thanks. Any indicative dates for the next release?

The next version will be released on May 6 or May 7

disoul commented 4 years ago

@aravindm v0.1.7 released

aravindm commented 4 years ago

Thanks @disoul. It's working now.

aravindm commented 4 years ago

Hi @disoul ,

In firefox, in the latest version of the library (0.1.7), I am able to publish tracks. But, when I un-publish one of the tracks (audio/video), the library is throwing the below error:

Agora-SDK [ERROR]: set remote answer error DOMException: "Answer tried to set recv when offer did not set send"

This does not happen in chrome. Could you let me know if this is a bug and if there is a workaround?

Thanks, Aravind

disoul commented 4 years ago

It seems to be another problem, it is better to create another issue.

You can use this workaround now:

await client.publish([audioTrack, videoTrack]);

await client.unpublish(videoTrack); // <--- this will throw error in Firefox

await client.unpublish(); // <--- this is ok because it does not trigger the renegotiation
await client.publish(audioTrack);

We will try to fix it in the future.

disoul commented 4 years ago

@aravindm the renegotiation issue has been fixed in the development branch, will be released in the next week.

aravindm commented 4 years ago

Ok. Thank you.

disoul commented 4 years ago

@aravindm v0.1.8 released