GNOME Bugzilla – Bug 789822
rtcpbuffer: Add XR parsing APIs
Last modified: 2018-11-03 12:01:06 UTC
I propose the patches to implement RFC3611 (RTCP XR). The patches are split by the extended report block type for easier reviewing.
Created attachment 362828 [details] [review] [1/7] rtcpbuffer: add XR packet iterator According to RFC3611, the extended report blocks in XR packet can have variable length. To visit each block, the iterator should look into block header.
Created attachment 362829 [details] [review] [2/7] rtcpbuffer: add Loss/Duplicate RLE parser for XR packet The Loss RLE and the Duplicate RLE have same format so they can share parsers. For unit test, randomly generated pseudo packet is used.
Created attachment 362830 [details] [review] [3/7] rtcpbuffer: add Packet Receipt Times parser for XR packet The packet receipt times report block has a list of receipt times which are in [begin_seq, end_seq).
Created attachment 362831 [details] [review] [4/7] rtcpbuffer: add Receiver Reference Time paser for XR The receiver reference time has ntptime which is 64 bit type.
Created attachment 362832 [details] [review] [5/7] rtcpbuffer: add DLRR parser for XR packet The DLRR report block consists of sub-blocks which has ssrc, last RR, and delay since last RR. The number of sub-blocks should be calculated from block length.
Created attachment 362833 [details] [review] [6/7] rtcpbuffer: add Statistics Summary parser for XR packet The Statistics Summary report block provides fixed length information.
Created attachment 362834 [details] [review] [7/7] rtcpbuffer: add VoIP Metrics parser for XR packet According to RFC3611, VoIP Metrics consists of several metrics even though they are in a report block. Data retrieving functions are added per metrics.
Do you also have a user of these new API's ?
Sometimes, WebRTC in chrome sends us XR packets so I parse them first. If these APIs are acceptable, I'll try to make RTCP XR recognizable in rtpsesson rather than ignoring.
Please first make use of these APIs in rtpsession. How would you otherwise know that they're usable at all? :)
Created attachment 365207 [details] [review] rtcpbuffer: add support XR packet parsing Rebased and squashed. Also, it defines enum type for GstRTCPXRType to use in GstStructure.
any advice for this proposal and #791354?
Created attachment 373069 [details] [review] rtcpbuffer: add support XR packet parsing Updated with docs and fixed some typos. If not one yells, I'll merge as-is.
Created attachment 373070 [details] [review] rtcpbuffer: add support XR packet parsing Also added Since: tag to the comments.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/395.