[WebRTC Ingestion] Add a button that lets users manually call JoinStorageSession on the Webpage (to reduce the need to use the AWS CLI). Mainly used for testing purposes. Add a checkbox that decides whether or not that button should be shown (not shown by default).
[WebRTC Ingestion] When a peer connection fails to be established with the media ingestion peer, we will initiate a retry faster.
Add option to pass in correlationId into the Signaling messages (and add unit tests for that).
Receive STATUS_RESPONSE messages in case any are received. We will emit a statusResponse event containing this STATUS_RESPONSE object.
[WebRTC ingestion] In this mode, remove the remote-view:
[WebRTC ingestion] In this mode, disable data channel use, overriding the value of the checkbox, if needed.
The color of the Stop button was changed to red. This makes it easier to quickly identify. This has been changed for both Master and Viewer.
How was it changed?
This button is not shown by default. To show it, you need to enable the newly-added checkbox:
After this box is checked, the button will appear next to "Stop Master" after successfully connecting to Signaling.
2.
Previously what happens is that we listen for the PeerConnection state transitioning to failed, and that triggers the retry. From my testing, it takes Google WebRTC around 15 seconds to transition to the FAILED state which is a bit slow.
We change the original retry initiation from:
Wait until the Peer Connection state transitions to failed
To:
Wait until the Peer Connection state transitions to failed, or
5 seconds have passed after the SDP answer was sent
In the sample, I added correlationId to the SDP_ANSWER for master.
In WebRTC ingestion mode, when we receive an error statusResponse, we will exit the sample application.
Testing
Refresh the page to ensure that the button state is getting saved to local storage
Pressed the button to confirm that JoinStorageSession is invoked on a Signaling Channel that is configured for ingestion.
Pressed the button on a Signaling Channel that is not configured for ingestion to confirm the error is handled gracefully.
Locally remove the "audio+video" requirement and send back an answer without video to confirm that the STATUS_RESPONSE is received for an invalid SDP_ANSWER in WebRTC ingestion mode.
Connect to a channel without WebRTC ingestion enabled, then one with WebRTC ingestion disabled, and then finally to one that's enabled again to verify the UI elements are all hiding/showing correctly.
Existing unit tests still pass
New unit tests pass (100% CC)
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
What was changed?
correlationId
into the Signaling messages (and add unit tests for that).statusResponse
event containing this STATUS_RESPONSE object.[WebRTC ingestion] In this mode, disable data channel use, overriding the value of the checkbox, if needed.
The color of the Stop button was changed to red. This makes it easier to quickly identify. This has been changed for both Master and Viewer.
How was it changed?
This button is not shown by default. To show it, you need to enable the newly-added checkbox:
After this box is checked, the button will appear next to "Stop Master" after successfully connecting to Signaling.
2.
Previously what happens is that we listen for the PeerConnection state transitioning to failed, and that triggers the retry. From my testing, it takes Google WebRTC around 15 seconds to transition to the FAILED state which is a bit slow.
We change the original retry initiation from:
To:
statusResponse
, we will exit the sample application.Testing
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.