Aleix Conchillo Flaqué
15a3b0f6ce
srtpenc: remove get-rollover-counter signal and add stats property
...
We remove get-rollover-counter signal in favor of the "stats"
property. The "stats" property is a GstStructure with caps
application/x-srtp-encoder-stats that contains an array of
structures with caps application/x-srtp-stream.
Each stream structure contains "ssrc" and "roc" fields.
https://bugzilla.gnome.org/show_bug.cgi?id=733265
2016-06-13 14:55:25 +02:00
Aleix Conchillo Flaqué
73ebdb888e
srtpdec: also check for "roc" in caps
...
Currently, gst_srtp_dec_sink_setcaps is happy if the "roc" field is not
provided in the caps. If it is not provided the stream will be properly
inserted in the hash table with a default "roc". Then, when the first
buffer arrives validate_buffer will find an existing stream in the hash
table and will not signal request-key, not allowing the user to provide
a "roc".
This patch expects "roc" in gst_srtp_dec_sink_setcaps, if not found a
request-key will be signaled and the user will be able to provide all
the srtp fields, including "roc".
https://bugzilla.gnome.org/show_bug.cgi?id=765079
2016-04-15 15:37:32 +02:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02: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
Miguel París Díaz
f19a789b68
srtpdec: skip padding when mapping RTP packets
...
https://bugzilla.gnome.org/show_bug.cgi?id=756653
2015-10-16 09:17:18 +03:00
Sebastian Dröge
88f85f6595
Revert "srtpdec: Add support for buffer list"
...
This reverts commit ff11a1a8a0
.
It can't be assumed that all buffers in a buffer list have the same SSRC or
are RTP or RTCP only. It has to be checked for every single buffer, and one
basically has to do the processing that is done by the default chain_list
implementation.
2015-08-13 12:40:14 +02:00
Miguel París Díaz
7db723831d
srtpenc: do not check input buffers
...
With this we avoid an unnecessary and considerable overhead.
https://bugzilla.gnome.org/show_bug.cgi?id=752774
2015-07-24 09:28:01 +01:00
Miguel París Díaz
3a3c01e7c7
srtpdec: Add config for the replay window size
...
https://bugzilla.gnome.org/show_bug.cgi?id=751729
2015-06-30 16:14:25 +02: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
Tim-Philipp Müller
9adefac59b
srtpenc: fix failure return values from create_session()
...
create_session() returns an err_status_t with
err_status_ok=0 and err_status_fail=1, so
returning TRUE/FALSE is not quite right.
https://bugzilla.gnome.org/show_bug.cgi?id=749304
2015-05-13 12:32:53 +01:00
Miguel París Díaz
481e1f76e8
srtpenc: fix over unlocking
...
Called should call function with lock, and is
also responsible for unlocking it later.
https://bugzilla.gnome.org/show_bug.cgi?id=749304
2015-05-13 12:29:21 +01:00
Sebastian Dröge
3d6a79b08b
srtpdec: Actually set the caps on the srcpad instead of just calling the default event handler for the sinkpad
...
Fixes up dafa11b9d2
2015-05-06 12:59:33 +02:00
Sebastian Dröge
dafa11b9d2
srtpdec: Make sure to send caps events downstream before any segment events
...
Upstream might not give us a caps event (dtlssrtpdec) because it might be an
RTP/RTCP mixed stream, but we split the two streams anyway and should report
proper caps downstream if possible.
Fixes "sticky event misordering" warnings with dtlssrtpdec.
2015-04-30 21:34:54 +02:00
Sebastian Dröge
87243e9c6e
srtpdec: Add some more debug output
2015-04-13 19:41:15 +02:00
Jose Antonio Santos Cadenas
ff11a1a8a0
srtpdec: Add support for buffer list
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-19 16:31:47 +01:00
Jose Antonio Santos Cadenas
8f8b0f5478
srtpenc: Do not drop all buffers in buffer list if one fails
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-19 16:27:21 +01:00
Jose Antonio Santos Cadenas
8d2e98bc3f
srtpdec: Separate buffer encoding functionality into a different function
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:26:48 +01:00
Jose Antonio Santos Cadenas
f295beda07
srtpenc: Add support for buffer list
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:26:48 +01:00
Jose Antonio Santos Cadenas
ef4a904700
srtpenc: Add missing locks
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:22:58 +01:00
Jose Antonio Santos Cadenas
2d3938c063
srtpenc: Split chain functionality so it can be reused for buffer list
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:21:36 +01:00
Jose Antonio Santos Cadenas
e2cdbdae13
srtpenc: Improve memory management on chain function
...
Avoiding copy the buffer twice, one while mapping and other with mencpy
https://bugzilla.gnome.org/show_bug.cgi?id=746356
2015-03-17 18:18:43 +01:00
Jose Antonio Santos Cadenas
5bad599560
srtpenc: Fix typo in log
2015-03-17 18:18:32 +01:00
Aleix Conchillo Flaqué
086cc58952
srtpdec: fix rtp/rtcp sink event memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=740451
2014-11-20 13:32:39 -05:00
Arun Raghavan
193eeb1243
srtpdec: Trivial documentation fix
2014-10-30 18:45:04 +05:30
Youness Alaoui
3c80396424
srtpdec: Add support for RTP/RTCP mixing if data arrives on RTCP pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=734321
2014-08-21 18:45:19 -04:00
Miguel París Díaz
bf003caf9d
gstsrtpenc: unref event when needed
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731768
2014-06-18 15:54:08 +02:00
Wim Taymans
52d4b7de07
srtpenc: improve property comments
...
Add a Note to the allow-repeat-tx property because it is potentially
insecure when used incorrectly.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731714
2014-06-18 15:37:23 +02:00
Miguel París Díaz
c1052066e8
gstsrtpenc: add allow-repeat-tx property
2014-06-18 15:33:00 +02:00
Aleix Conchillo Flaqué
da30669589
srtp: add support for rollover counters and replay protection window size
...
We add a new signal, get-rollover-counter, to the SRTP encoder. Given a
ssrc the signal will return the currently internal SRTP rollover counter
for the given stream.
For the SRTP decoder we have a new SRTP caps parameter "roc" that needs
to be set when a new SRTP stream is created for a given SSRC.
https://bugzilla.gnome.org/show_bug.cgi?id=726861
2014-06-03 16:18:25 -04:00
Olivier Crête
0566be384d
srtpdec: Don't reset stream if the key hasn't changed
2014-05-06 00:49:59 -04:00
Olivier Crête
b2a6490626
srtpdec: Add "remove-key" action signal to remove a single key
...
Removing all the keys can be a problem as it also resets the various
counters, so instead add an option to remove a single key.
2014-05-06 00:49:59 -04:00
Olivier Crête
53a4e05261
srtpenc: Use %u in templates to match rtpbin
2014-05-06 00:49:22 -04:00
Olivier Crête
8c9b1ade36
srtpdec: Remove unused field
2014-05-06 00:49:15 -04:00
Olivier Crête
5d3ce2c611
srtpenc: Add config for the replay window size
2014-05-02 17:27:56 -04:00
Olivier Crête
b51344651e
srtpenc: Remove unused object members
2014-05-02 17:25:35 -04:00
Olivier Crête
820200e20e
srtpenc: Remove useless structure
...
Remove now useless structure
2014-05-02 17:19:51 -04:00
Olivier Crête
2906fae146
srtpenc: Remove ssrc parsing from stream
...
It's no longer used
2014-05-02 17:19:51 -04:00
Olivier Crête
98f8bf46df
srtpenc: Remove SSRC from signal, it's meaningless
2014-05-02 17:19:51 -04:00
Olivier Crête
5a38ae5a83
srtpenc: Set the SRTP key as a shared key for all SSRCs
...
This is already how it was used.
2014-05-02 17:19:51 -04:00
Olivier Crête
775e998dab
srtpdec: Only clear streams if they have been created
2014-05-01 19:16:35 -04:00
Olivier Crête
494b8e110d
srtpdec: Use object debug
2014-05-01 19:10:43 -04: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
Vincent Penquerc'h
54704b6f5d
srtp: remove dead assignment
...
Coverity 1197707
2014-04-09 16:55:30 +01:00
Wim Taymans
9adb1734cf
srtpenc: unlock object lock before posting error
...
Posting an error with the object lock will deadlock. Rework the code
a bit to make things more simple.
2014-03-25 17:46:32 +01:00
Aleix Conchillo Flaqué
a04fe75047
srtpenc: unref caps after gst_query_set_caps_result
...
https://bugzilla.gnome.org/show_bug.cgi?id=725412
2014-03-01 16:40:39 +01:00
Sebastian Dröge
15e0db90e8
srtpdec: Fix comparison compiler warning
...
error: comparison of constant -1 with expression of type
'GstSrtpCipherType' is always false
2014-02-08 19:59:43 +01:00
Miguel París Díaz
e944195b64
srtpdec: Fix GstCaps memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=721382
2014-01-03 10:46:29 +01: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
b58ca88fb9
srtpenc: Set the first session flag to false once one is create
...
Otherwise it always thinks it's the first session.
https://bugzilla.gnome.org/show_bug.cgi?id=711495
2013-11-19 20:18:48 -05:00
Olivier Crête
2b75eb85c4
srtpdec: Make sure that stream-id/caps/segment are sent before buffers
...
It may be possible that only one of the two sink pads is linked in that case,
the events need to be created from the other pad.
2013-11-19 20:12:54 -05:00