|
webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
|
Public Member Functions | |
| def | __init__ (self, data_points) |
| def | print_header_statistics (self) |
| def | print_ssrc_info (self, ssrc_id, ssrc) |
| def | choose_ssrc (self) |
| def | filter_ssrc (self, chosen_ssrc) |
| def | print_sequence_number_statistics (self) |
| def | estimate_frequency (self, always_query_sample_rate) |
| def | print_duration_statistics (self) |
| def | remove_reordered (self) |
| def | compute_bandwidth (self) |
| def | plot_statistics (self) |
Public Attributes | |
| data_points | |
| ssrc_frequencies | |
| ssrc_size_table | |
| bandwidth_kbps | |
| smooth_bw_kbps | |
Static Public Attributes | |
| int | BANDWIDTH_SMOOTHING_WINDOW_SIZE = 10 |
| int | PLOT_RESOLUTION_MS = 50 |
Has methods for calculating and plotting RTP stream statistics.
| def rtp_analyzer.RTPStatistics.__init__ | ( | self, | |
| data_points | |||
| ) |
Initializes object with data_points and computes simple statistics.
Computes percentages of number of packets and packet sizes by
SSRC.
Args:
data_points: list of pb_parse.DataPoints on which statistics are
calculated.
| def rtp_analyzer.RTPStatistics.choose_ssrc | ( | self | ) |
Queries user for SSRC.
| def rtp_analyzer.RTPStatistics.compute_bandwidth | ( | self | ) |
Computes bandwidth averaged over several consecutive packets. The number of consecutive packets used in the average is BANDWIDTH_SMOOTHING_WINDOW_SIZE. Averaging is done with numpy.correlate.
| def rtp_analyzer.RTPStatistics.estimate_frequency | ( | self, | |
| always_query_sample_rate | |||
| ) |
Estimates frequency and updates data. Guesses the most probable frequency by looking at changes in timestamps (RFC 3550 section 5.1), calculates clock drifts and sending time of packets. Updates `self.data_points` with changes in delay and send time.
| def rtp_analyzer.RTPStatistics.filter_ssrc | ( | self, | |
| chosen_ssrc | |||
| ) |
Filters and wraps data points. Removes data points with `ssrc != chosen_ssrc`. Unwraps sequence numbers and timestamps for the chosen selection.
| def rtp_analyzer.RTPStatistics.plot_statistics | ( | self | ) |
Plots changes in delay and average bandwidth.
| def rtp_analyzer.RTPStatistics.print_duration_statistics | ( | self | ) |
Prints delay, clock drift and bitrate statistics.
| def rtp_analyzer.RTPStatistics.print_header_statistics | ( | self | ) |
| def rtp_analyzer.RTPStatistics.print_sequence_number_statistics | ( | self | ) |
| def rtp_analyzer.RTPStatistics.print_ssrc_info | ( | self, | |
| ssrc_id, | |||
| ssrc | |||
| ) |
Prints packet and size statistics for a given SSRC. Args: ssrc_id: textual identifier of SSRC printed beside statistics for it. ssrc: SSRC by which to filter data and display statistics
| def rtp_analyzer.RTPStatistics.remove_reordered | ( | self | ) |
| rtp_analyzer.RTPStatistics.bandwidth_kbps |
|
static |
| rtp_analyzer.RTPStatistics.data_points |
|
static |
| rtp_analyzer.RTPStatistics.smooth_bw_kbps |
| rtp_analyzer.RTPStatistics.ssrc_frequencies |
| rtp_analyzer.RTPStatistics.ssrc_size_table |
1.8.13