Commit graph

11 commits

Author SHA1 Message Date
Jan Alexander Steffens (heftig)
e9aa117200 srtp: Support libsrtp2
For libsrtp 1, add defines that translate the new namespaced identifiers
to the old unnamespaced ones. Also move the code for setting and getting
a stream's ROC into two compat functions that match libsrtp2's API.

It seems that libsrtp2 properly supports changing the ROC without having
to touch the sequence numbers afterwards, given that srtp_set_stream_roc
sets a pending_roc field, so the entire roc_changed dance should not be
needed anymore. The compat functions for libsrtp 1 just contain our
preexisting hacks, however, so it's still needed there.

libsrtp2 has no means of discovering the streams in the session, so to
create the stats structure we need to iterate over our own set of SSRCs.
For this we also need to re-add the previously removed ssrcs_set to the
encoder.

https://bugzilla.gnome.org/show_bug.cgi?id=776901
2018-01-29 09:58:11 +02:00
Justin Kim
17121ebc57 srtp: get ssrc for Application-Defined RTCP Packet
Application-defined RTCP(204) packets also have a ssrc in their header.
To find a valid stream from the packet, the ssrc should be used.

https://bugzilla.gnome.org/show_bug.cgi?id=791955
2017-12-27 09:16:08 -06:00
Tim-Philipp Müller
80d66dfec8 Fix up package name and origin in some plugins 2017-05-18 10:58:20 +01:00
Santiago Carot-Nemesio
073bff8ce2 srtp: Fix critical warning trying to retrieve SSRC from a non fb message
https://bugzilla.gnome.org/show_bug.cgi?id=756876
2015-10-23 16:32:03 +03:00
Jose Antonio Santos Cadenas
adcf3f48a5 srtp: Allow getting ssrc of more package types than RR and SR
This allows decrypting reduce size packages. See RFC 5506

https://bugzilla.gnome.org/show_bug.cgi?id=750326
2015-06-05 10:19:51 +02:00
Aleix Conchillo Flaqué
01c15547d4 srtpdec: fix assertion checking ssrc from rtcp packets
rtcp_buffer_get_ssrc is called even with RTP buffers. this means we
might end up with an exception and not find any valid RTCP packet type
and thus hit GST_RTCP_TYPE_INVALID. we now take care of this.

https://bugzilla.gnome.org/show_bug.cgi?id=727512
2014-04-12 05:08:20 +02:00
Aleix Conchillo Flaqué
fefd021ee2 srtp: add 256-bit key support
* ext/srtp/gstsrtp.[ch]: added GST_SRTP_CIPHER_AES_256_ICM to
  GstSrtpCipherType and new function cipher_key_size.

* ext/srtp/gstsrtpenc.c: maximum key size is now 46 characters (14 for
  the salt plus the key). If different ciphers are chosen for RTP and
  RTCP the maximum needed key size is expected.

* ext/srtp/gstsrtpdec.c: minor documentation updates.

https://bugzilla.gnome.org/show_bug.cgi?id=720434
2013-12-13 17:51:18 -05:00
Olivier Crête
47a6118fbc srtp: Move the enums to the common header
The types are used in both the encoder and decoder
2013-06-28 20:35:15 -04:00
Olivier Crête
4b89870a58 srtpdec: Don't crash on invalid cipher 2013-04-09 21:37:24 -04:00
Jose Antonio Santos Cadenas
2347c4e711 srtp: use constant AES_128_ICM instead of AES_ICM that is not found
https://bugzilla.gnome.org/show_bug.cgi?id=695897
2013-03-15 11:04:29 +00:00
Olivier Crête
4eb960d6c3 srtp: Add SRTP plugin based on libsrtp
In large part the work of Gabriel Millaire
2013-03-12 20:01:50 -04:00