Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(calling): add updateMedia in call #3284

Merged
merged 2 commits into from
Jan 1, 2024

Conversation

sreenara
Copy link
Contributor

COMPLETES # SPARK-423078

This pull request addresses

The ability to change the microphone while a call is in progress.

by making the following changes

  1. Creating a new function on the Call object called updateMedia which takes the new device's stream as an input.
  2. Added a "Change Device" button to change the microphone and speaker during a call

Change Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Tooling change
  • Internal code refactor

The following scenarios where tested

Tested the following on Chrome 120.0.6099.109 and Edge 120.0.2210.91

  1. Place a call from the kitchen sink. Call is connected on laptop microphone and speakers
  2. Connect headphones with mic. Click "Get Devices" to list this new device in the kitchen sink
  3. Select new microphone and speaker and click "Change Device"
  4. Check on the remote party if the audio is now getting transmitted from the headphone microphone and the remote party's audio is being redirected to the headphones

I certified that

  • I have read and followed contributing guidelines

  • I discussed changes with code owners prior to submitting this pull request

  • I have not skipped any automated checks

  • All existing and new tests passed

  • I have updated the documentation accordingly


Make sure to have followed the contributing guidelines before submitting.

@sreenara sreenara added the validated If the pull request is validated for automation. label Dec 31, 2023
@sreenara sreenara requested a review from a team as a code owner December 31, 2023 17:40
Copy link

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-3284.d3m3l2kee0btzx.amplifyapp.com

@sreenara sreenara merged commit 5814e3b into webex:next Jan 1, 2024
11 checks passed
@sreenara sreenara deleted the calling-mod-device branch January 1, 2024 17:02
mkesavan13 added a commit to meta-dipanshu-sharma/webex-js-sdk that referenced this pull request Jan 11, 2024
* feat(meeting-info-fail): destroy meeting on meeting info fail if flag is true (webex#3200)

Co-authored-by: ndelmar <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.262 [skip ci]

* fix: added metrics to addMedia success/failure metrics (webex#3220)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.263 [skip ci]

* fix(plugin-meetings): screen share when shared by same user different client (webex#3177)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.264 [skip ci]

* fix(internal-plugin-metrics): bump event dictionary version (webex#3216)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.265 [skip ci]

* feat(plugin-metrics): classify network errors (webex#3224)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.266 [skip ci]

* feat(plugin-metrics): classify unauthorized errors (webex#3229)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.267 [skip ci]

* fix(public): setcorrelation id is made public to be used in cantina (webex#3230)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.268 [skip ci]

* feat(plugin-metrics): use network category for relevant errors (webex#3231)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.269 [skip ci]

* fix: added logging for getCurrentConnectionType() error cases (webex#3233)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.270 [skip ci]

* fix(plugin-meetings): add latency metrics for addMedia (webex#3234)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.271 [skip ci]

* feat(ca): add identifiers confId, mid (webex#3226)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.272 [skip ci]

* fix: log call parameters when mercury _emit fails (webex#3228)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.273 [skip ci]

* feat(ca): add fallback to preLoginId for userId (webex#3221)

Co-authored-by: Catalin <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.274 [skip ci]

* chore(internal-media-core): version bump (webex#3237)

* docs(api): update docs [skip ci]

* fix(plugin-meetings): update internal media core to 2.0.6 (webex#3241)

Co-authored-by: Bryce Tham <[email protected]>

* docs(api): update docs [skip ci]

* fix: downscopeing issues (webex#3211)

make sure SDK never request new user token from the server with invalid scope(s) and log every attempt correctly

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.275 [skip ci]

* fix(breakouts): user gets removed from meeting after end of session (webex#3239)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.276 [skip ci]

* fix(plugin-meetings): audio still working when addMedia called with audioEnabled: false (webex#3247)

Co-authored-by: ndelmar <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.277 [skip ci]

* fix(plugin-meetings): add tls transport type (webex#3243)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.278 [skip ci]

* feat(media): add ice failure groupings for CA (webex#3240)

Co-authored-by: Catalin <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.279 [skip ci]

* fix(integration): fix waitForPublished() in SDK integration tests (webex#3242)

Co-authored-by: Priya Kesari <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.280 [skip ci]

* feat(meeting): stats report on media failure (webex#3245)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.281 [skip ci]

* fix(plugin-meetings): refactor addMedia and add separate timeout for sdp exchange (webex#3244)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.282 [skip ci]

* fix(samples): avoid init failure for tokens without additional features (webex#3257)

* fix(metrics) :  Call diagnostics validator (webex#3259)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.283 [skip ci]

* fix(metrics): catalog-delay (webex#3235)

Co-authored-by: peter-robert-cole <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.284 [skip ci]

* feat(logs): add log metadata (webex#3260)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.285 [skip ci]

* fix: local linking with internal-media-core (webex#3265)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.286 [skip ci]

* feat(plugin-metrics): payload overrides (webex#3270)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.287 [skip ci]

* feat(webinar): add webinar related props (webex#3253)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.288 [skip ci]

* fix(calling): exporting interfaces, types from index.ts file (webex#3275)

Co-authored-by: Priya Kesari <[email protected]>

* fix(call): error-handling-for-empty-track-while-answer-dial (webex#3277)

Co-authored-by: Shreyas Sharma <[email protected]>

* fix: use candidate pairs to identify correct local candidate (webex#3258)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.289 [skip ci]

* feat(members): add reclaimHostRole functionality (webex#3272)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.290 [skip ci]

* fix(calling): remove logging of personal info (webex#3279)

* fix(metrics): update to confIdStr (webex#3280)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.291 [skip ci]

* feat(calling): add updateMedia in call (webex#3284)

* feat(plugin-meetings): retry media connection on turn tls (webex#3261)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.292 [skip ci]

* fix(plugin-meetings): force turn discovery on reconnection (webex#3285)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.293 [skip ci]

* Fix mercury log (webex#3236)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.294 [skip ci]

* fix: added support for Roap optimized flow for offer/answer/ok (webex#3271)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.295 [skip ci]

* fix(calling): extend eventing class on ILine interface  (webex#3286)

Co-authored-by: Priya Kesari <[email protected]>

* fix(calling): export LocalMicrophoneStream (webex#3290)

Co-authored-by: Priya Kesari <[email protected]>

* fix(plugin-logger): redact mtid (webex#3287)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.296 [skip ci]

* feat(plugin-metrics): add error handling to assign role function (webex#3289)

Co-authored-by: ndelmar <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.297 [skip ci]

* feat(plugin-meetings): fix .only test (webex#3294)

Co-authored-by: ndelmar <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.298 [skip ci]

* fix(samples): reorder and group the ui with similar features (webex#3262)

Co-authored-by: Rajesh Kumar <[email protected]>

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.299 [skip ci]

* fix(plugin-meetings): don't send turn latency if it fails (webex#3296)

* fix(plugin-meetings): add retriedWithTurnServer to add media success metric (webex#3295)

* fix(plugin-meetings): don't wait for timeout when sending roap offer fails (webex#3293)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.300 [skip ci]

* fix: update internal-media-core to 2.2.1 (webex#3298)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.301 [skip ci]

* feat(http-core): capitalize Authorization header (webex#3300)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.302 [skip ci]

* feat(fraud): add localIP to join request (webex#3282)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.303 [skip ci]

* fix(meetings): ensure non-undefined value for peripheral information property (webex#3281)

* docs(api): update docs [skip ci]

* chore(release): v3.0.0-beta.304 [skip ci]

* test(metrics): skipped failing tests with todo

* fix(samples): merge commit resolution

---------

Co-authored-by: Natalia del Mar <[email protected]>
Co-authored-by: ndelmar <[email protected]>
Co-authored-by: Webex Publisher <[email protected]>
Co-authored-by: Marcin <[email protected]>
Co-authored-by: shivani1211 <[email protected]>
Co-authored-by: Lisa Smith <[email protected]>
Co-authored-by: Coread <[email protected]>
Co-authored-by: Martin Roos <[email protected]>
Co-authored-by: shnaaz <[email protected]>
Co-authored-by: Jordan Rowan <[email protected]>
Co-authored-by: chrisadubois <[email protected]>
Co-authored-by: László Vadász <[email protected]>
Co-authored-by: Catalin Torge <[email protected]>
Co-authored-by: Catalin <[email protected]>
Co-authored-by: Bryce Tham <[email protected]>
Co-authored-by: Bryce Tham <[email protected]>
Co-authored-by: Charles Burkett <[email protected]>
Co-authored-by: Tyler McCarthy <[email protected]>
Co-authored-by: Kesari3008 <[email protected]>
Co-authored-by: Priya Kesari <[email protected]>
Co-authored-by: Sreekanth Narayanan <[email protected]>
Co-authored-by: Timothy Scheuering <[email protected]>
Co-authored-by: peter-robert-cole <[email protected]>
Co-authored-by: JudyZhu <[email protected]>
Co-authored-by: Shreyas Sharma <[email protected]>
Co-authored-by: Shreyas Sharma <[email protected]>
Co-authored-by: Rajesh Kumar <[email protected]>
Co-authored-by: Rajesh Kumar <[email protected]>
Co-authored-by: Bin Xu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
validated If the pull request is validated for automation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant