Commit graph

31 commits

Author SHA1 Message Date
Tim-Philipp Müller
83806dc4e1 rtcpbuffer: fix typo 2018-12-30 18:06:58 +00:00
Justin Kim
5303e2c32b rtcpbuffer: add support XR packet parsing
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. Once XR type is extracted, users can parse the
detailed information by given functions.

Loss/Duplicate RLE
The Loss RLE and the Duplicate RLE have same format so
they can share parsers. For unit test, randomly generated
pseudo packet is used.

Packet Receipt Times
The packet receipt times report block has a list of receipt
times which are in [begin_seq, end_seq).

Receiver Reference Time paser for XR packet
The receiver reference time has ntptime which is 64 bit type.

DLRR
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.

Statistics Summary
The Statistics Summary report block provides fixed length
information.

VoIP Metrics
VoIP Metrics consists of several metrics even though they are in
a report block. Data retrieving functions are added per metrics.

https://bugzilla.gnome.org/show_bug.cgi?id=789822
2018-12-13 14:01:06 -05:00
Edward Hervey
22c9e5f7c1 libs: Documentation cleanup
* Fix wrong naming, wrong types and typos
* Add missing sections
* Add missing documentation for entries
* Explicitely mark private structure entries
* Remove items that never existed
2018-04-02 08:53:28 +02:00
Tim-Philipp Müller
363b790d38 rtp: GST_EXPORT -> GST_RTP_API
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-13 12:16:42 +00:00
Sebastian Dröge
d33c407f6b rtp: Require gconstpointer instead of gpointer for gst_rt[c]p_buffer_new_copy_data() 2017-11-17 14:14:55 +02:00
Justin Kim
33709106e9 rtcpbuffer: Add XR type
RTCP XR provides supplements information of the report blocks
from SR and RR. This patch is for downgrading warnings when
XR is detected before implementing entire block types of RFC3611.

https://bugzilla.gnome.org/show_bug.cgi?id=789743
2017-11-01 10:54:10 +02:00
Tim-Philipp Müller
33ae84fd1c rtp: mark symbols explicitly for export with GST_EXPORT 2017-05-16 15:22:42 +01:00
Stian Selnes
93196092d1 rtcpbuffer: Add API for APP packets
https://bugzilla.gnome.org/show_bug.cgi?id=761944
2016-03-24 14:24:11 +02:00
Haakon Sporsheim
d8e9a711a0 rtcpbuffer: Add profile-specific extension API.
https://bugzilla.gnome.org/show_bug.cgi?id=761950
2016-03-24 14:22:54 +02:00
Jose Antonio Santos Cadenas
9931bef8ca rtcpbuffer: Update package validation to support reduced size rtcp packets
According to this section of the rfc.
https://tools.ietf.org/html/rfc5506#section-3.4.2
The validation should be updated to accept more types of RTCP
packages, with this mask change feedback packages will be also
accepted.

Change-Id: If5ead59e03c7c60bbe45a9b09f3ff680e7fa4868
2015-06-05 10:18:21 +02:00
Tim-Philipp Müller
dfc34c5841 rtp: rtcpbuffer: fix typo in enum
and in docs. Spotted by Rob Swain.
2015-04-07 16:44:20 +01:00
Wim Taymans
82d327fb91 rtp: add helpers for header extensions
Add helpers and defines for the NTP-64 and NTP-56 header extensions.
2012-11-06 09:18:54 +01:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Edward Hervey
2817bdadc9 libs: Remove "Since" markers and minor doc fixups 2012-07-13 12:11:06 +02:00
Wim Taymans
e7575bc525 rtp: improve structures
Remove flags that is in the mapinfo now
2012-01-25 12:30:53 +01:00
Wim Taymans
fcdc385aa1 port to new map API 2012-01-25 12:30:53 +01:00
Wim Taymans
6be9a67148 rtp: add INIT macros 2011-12-09 19:22:21 +01:00
Wim Taymans
7afdff3575 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/gstaudiodecoder.c
2011-11-17 17:07:41 +01:00
Olivier Crête
82827df405 rtcpbuffer: Add feedback message types from RFC 5104
These are Codec Control messages (CCM)

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:24:16 +01:00
Wim Taymans
fc04bcecbe fix docs 2011-11-14 10:46:56 +01:00
Wim Taymans
107d5a3d05 rtp: fix headers
indent, add padding, remove old abidata
2011-11-11 19:21:09 +01:00
Wim Taymans
3d25a4b470 libs: port to new data API 2011-03-27 13:55:15 +02:00
Olivier Crête
582417e031 rtcpbuffer: Add function to manipulation the data in RTCP feedback packets
Add methods to get/set the length of the Feedback Control Information (FCI) as
well as getting a pointer to the FCI itself.
2010-10-05 16:19:14 +02:00
Wim Taymans
f7070b6bc6 rtcpbuffer: add helper functions for SDES types
Add functions to convert SDES names to their types and back. Will be used later
to set SDES items using a GstStructure.

See #595265
2009-12-22 20:15:28 +01:00
Johann Prieur
86edcadc43 RTCP: add beginnings of Feedback messages
Add the beginnings of parsing and constructing Feedback messages.
Fixes #577610.
2009-04-14 16:45:20 +02:00
Olivier Crete
3c9df39c15 gst-libs/gst/rtp/gstrtcpbuffer.*: Implement gst_rtcp_packet_remove(). Fixes #563174.
Original commit message from CVS:
Patch by: Olivier Crete  <tester at tester ca>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement gst_rtcp_packet_remove(). Fixes #563174.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add unit test for some RTCP functions.
2008-12-08 12:08:32 +00:00
Wim Taymans
6f93db5ab5 Fix parsing of RB blocks.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb),
(gst_rtcp_packet_sdes_copy_entry), (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Fix parsing of RB blocks.
Fix docs.
Added helper functions to convert to/from UNIX and NTP time.
API: gst_rtcp_ntp_to_unix()
API: gst_rtcp_unix_to_ntp()
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_get_header_len),
(gst_rtp_buffer_get_extension_data),
(gst_rtp_buffer_get_payload_subbuffer),
(gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload),
(gst_rtp_buffer_ext_timestamp):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Fix some more docs.
Implement handling of packets with extensions.
Fix padding check in _validate().
Added function to get extension data.
API: gst_rtp_buffer_get_header_len()
API: gst_rtp_buffer_get_extension_data()
2007-09-03 19:31:11 +00:00
Wim Taymans
fdc42d47b4 gst-libs/gst/rtp/gstrtcpbuffer.*: Fix and document SDES item data function.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_sdes_get_entry),
(gst_rtcp_packet_sdes_copy_entry):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Fix and document SDES item data function.
Add new function that makes a proper copy of SDES item data.
API: gst_rtcp_packet_sdes_copy_entry()
2007-08-30 21:59:23 +00:00
Wim Taymans
f23356bd8f gst-libs/gst/rtp/gstrtcpbuffer.*: Fix RB block parsing and writing.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb),
(gst_rtcp_packet_add_rb), (gst_rtcp_packet_sdes_add_item),
(gst_rtcp_packet_sdes_add_entry), (gst_rtcp_packet_bye_add_ssrc),
(gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset),
(gst_rtcp_packet_bye_set_reason):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Fix RB block parsing and writing.
Add support for constructing BYE packets.
2007-04-27 15:01:40 +00:00
Wim Taymans
f5c743b069 gst-libs/gst/rtp/gstrtcpbuffer.*: Implement code to write SR, RR and SDES packets.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_buffer_new),
(gst_rtcp_buffer_end), (gst_rtcp_buffer_get_packet_count),
(read_packet_header), (gst_rtcp_packet_move_to_next),
(gst_rtcp_buffer_add_packet), (gst_rtcp_packet_sr_set_sender_info),
(gst_rtcp_packet_rr_set_ssrc), (gst_rtcp_packet_add_rb),
(gst_rtcp_packet_sdes_get_item_count),
(gst_rtcp_packet_sdes_first_item),
(gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_ssrc),
(gst_rtcp_packet_sdes_first_entry),
(gst_rtcp_packet_sdes_next_entry),
(gst_rtcp_packet_sdes_get_entry), (gst_rtcp_packet_sdes_add_item),
(gst_rtcp_packet_sdes_add_entry):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement code to write SR, RR and SDES packets.
2007-04-25 08:10:26 +00:00
Wim Taymans
0a39f494b5 Add RTCP docs.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_get_adapter):
Add RTCP docs.
Fix some more docs.
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_buffer_new_take_data), (gst_rtcp_buffer_new_copy_data),
(gst_rtcp_buffer_validate_data), (gst_rtcp_buffer_validate),
(gst_rtcp_buffer_get_packet_count), (read_packet_header),
(gst_rtcp_buffer_get_first_packet), (gst_rtcp_packet_move_to_next),
(gst_rtcp_buffer_add_packet), (gst_rtcp_packet_remove),
(gst_rtcp_packet_get_padding), (gst_rtcp_packet_get_type),
(gst_rtcp_packet_get_count), (gst_rtcp_packet_get_length),
(gst_rtcp_packet_sr_get_sender_info),
(gst_rtcp_packet_sr_set_sender_info),
(gst_rtcp_packet_rr_get_ssrc), (gst_rtcp_packet_rr_set_ssrc),
(gst_rtcp_packet_get_rb_count), (gst_rtcp_packet_get_rb),
(gst_rtcp_packet_add_rb), (gst_rtcp_packet_set_rb),
(gst_rtcp_packet_sdes_get_chunk_count),
(gst_rtcp_packet_sdes_first_chunk),
(gst_rtcp_packet_sdes_next_chunk), (gst_rtcp_packet_sdes_get_ssrc),
(gst_rtcp_packet_sdes_first_item),
(gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_item),
(gst_rtcp_packet_bye_get_ssrc_count),
(gst_rtcp_packet_bye_get_nth_ssrc), (gst_rtcp_packet_bye_add_ssrc),
(gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset),
(gst_rtcp_packet_bye_get_reason_len),
(gst_rtcp_packet_bye_get_reason), (gst_rtcp_packet_bye_set_reason):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Add new helper object for parsing and creating RTCP messages.
2007-03-29 16:20:31 +00:00