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

DQP enhacement and bug fixes #288

Merged
merged 3 commits into from
Dec 29, 2023
Merged

DQP enhacement and bug fixes #288

merged 3 commits into from
Dec 29, 2023

Conversation

disa6302
Copy link
Collaborator

@disa6302 disa6302 commented Dec 14, 2023

Issue #, if available:

Description of changes:

  • Time to decoded frame: The calculation methodology for was incorrect. The way it was being measured would not give an accurate representation of the actual time taken to decode the first received frame. The application current uses inbound-stats to measure this value and these stats are polled every 1 second, which means, there is a possibility that the time calculated is 1 second more than what it actually took to decode the first frame. This PR fixes it by listening in on the [onloadeddata](https://www.w3schools.com/jsref/event_onloadeddata.asp) event tied to the master video element which is invoked when the first frame is received.

  • Time to P2P: The calculation for this is from the start of viewer button click to when the first track event is received. This is not a real measure of P2P, or atleast it is not clear what the intent of this is. This PR gets rid of this and instead adds 3 more metrics: Time taken for signaling setup, Time to set up viewer video view element and time taken from offer to first frame decode.

  • Time from viewer button click to first frame decode: Added a new measure to indicate the total time taken to get the remote view on the screen.

  • Selected candidate pair: Added details on the selected local and remote candidate which will show up after 10 seconds.

  • Modified time unit to ms display for latency measurements to be accurate.
    Before this change:

Initial view:
Screenshot 2023-12-14 at 3 34 52 PM

After 120 seconds:
Screenshot 2023-12-14 at 3 37 40 PM

After this PR:

Initial view:
Screenshot 2023-12-14 at 3 41 17 PM

After 10 seconds:

Screenshot 2023-12-14 at 3 41 29 PM

Note from the screenshot how there is a 931ms difference between Time to decoded stream (as seen from inbound stats) and Time from viewer button click to first decoded frame.

To do:

  • Debug why prflx candidate information is empty.
  • Firefox doesnt display local candidate details.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@disa6302 disa6302 force-pushed the profiling-from-start branch 2 times, most recently from 6efda62 to 1ef81f9 Compare December 27, 2023 18:23
examples/viewer.js Outdated Show resolved Hide resolved
@disa6302 disa6302 force-pushed the profiling-from-start branch from 1ef81f9 to ec6727b Compare December 27, 2023 22:39
@disa6302 disa6302 marked this pull request as ready for review December 27, 2023 22:40
Copy link
Contributor

@niyatim23 niyatim23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm!

@disa6302 disa6302 merged commit 18146f6 into develop Dec 29, 2023
4 checks passed
@disa6302 disa6302 deleted the profiling-from-start branch December 29, 2023 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants