Martin Nordholts
85e3f31740
webrtc: Track stats for data channels opened and closed
...
Track data channel stats for `dataChannelsOpened` and
`dataChannelsClosed` in `RTCPeerConnectionStats` as specified by
https://www.w3.org/TR/webrtc-stats/#dictionary-rtcpeerconnectionstats-members
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4638 >
2023-05-18 04:31:16 +00:00
Jan Schmidt
621604aa3e
webrtc: Calculate the jitter for remote-inbound-rtp stats
...
Populate the clock-rate in the internal stats structure, so
it can be used by the _get_stats_from_remote_rtp_source_stats()
method to calculate remote receivers' jitter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900 >
2023-02-07 04:58:04 +11:00
Jan Schmidt
615a019457
webrtcbin: Report full codec-stats for source pads
...
Use the current caps for webrtcbin srcpads, as received_caps
are only stored for sink pads based on incoming caps events.
Makes it so that webrtcbin stats reports contain fuller
codec information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900 >
2023-02-07 04:49:34 +11:00
Philippe Normand
72884f141c
webrtcbin: Support for setting kind attribute on RTCRtpStreamStats
...
The attribute maps the `kind` property of the associated transceiver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3630 >
2022-12-22 21:35:51 +00:00
Edward Hervey
a100f36b69
webrtcbin: Don't duplicate enum string values
...
Some were leaked when debugging was enabled. Instead just directly use the
static strings as-is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347 >
2022-11-07 11:21:00 +00:00
yatinmaan
2c1e61ea16
webrtc: Split WebRTCICE into base classes and implementation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2398 >
2022-07-26 13:51:11 +00:00
Philippe Normand
c19319c777
webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Sherrill Lin
3e7fb83393
webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
...
The implementation follows w3.org specs:
* https://www.w3.org/TR/webrtc-stats/#icecandidate-dict *
* https://www.w3.org/TR/webrtc-stats/#candidatepair-dict *
Corresponding unit tests are also added.
Rebased and updated from
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
Fixes #1207
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Sangchul Lee
a801d6dd63
webrtcstats: Unify 'packets-lost' data type to int64
...
Previously, 'packets-lost' member of RTCReceivedRtpStreamStats had
a value of G_TYPE_INT from rtpsource or a value of G_TYPE_UINT64
from rtpjitterbuffer.
Because of the negative value of estimated amount of packets lost
in rtpsource as well as the description in
https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats
it is fixed to set this value with G_TYPE_INT64.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2049 >
2022-03-31 05:37:39 +00:00
Matthew Waters
041eee6c2e
webrtc: produce stats for all relevant streams
...
Instead of only using the last ssrc that was pushed into a sink pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664 >
2022-03-29 23:55:41 +00:00
Matthew Waters
2377f8b3f2
webrtcbin: initial support for sending and receiving simulcast streams
...
Input (sink pads) is the already-ssrc-muxed stream with the relevant rtp
sdes header extensions already applied:
- mid
- stream-id
- repaired-stream-id
Output (src pads) have the pads separated into individual ssrc's as
that's what rtpbin gives us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664 >
2022-03-29 23:55:40 +00:00
Philippe Normand
43856a0735
webrtcstats: Fix null pointer dereference
...
If there is no jitterbuffer stats we should not attempt to store them in the
global stats structure.
Also add a g_return_if_fail in _gst_structure_take_structure() about this
because it is a programmer error to pass an invalid pointer address there.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1479 >
2021-12-29 15:55:57 +00:00
Olivier Crête
818a185b5d
webrtcstats: Fall back to last packet ssrc if caps dont provide it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448 >
2021-12-23 23:48:17 -05:00
Olivier Crête
4e32d6bf3e
webrtcstats: Use our own caps instead of the sticky event
...
The sticky event seems to get cleared sometimes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448 >
2021-12-23 23:48:17 -05:00
Olivier Crête
fc7e7f5ccc
webrtc stats: Remove duplicate structure get
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448 >
2021-12-23 23:48:17 -05:00
Olivier Crête
f35435f1f7
webrtc stats: Add more details about codecs into the stats
...
This makes the output a little closer to what the upstream stats are.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448 >
2021-12-23 23:48:17 -05:00
Thibault Saunier
019971a3c7
Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir
2021-09-24 16:14:36 -03:00