srtp icon indicating copy to clipboard operation
srtp copied to clipboard

A Go implementation of SRTP

Results 14 srtp issues
Sort by recently updated
recently updated
newest added

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [go](https://go.dev/) ([source](https://togithub.com/golang/go)) | golang | minor | `1.14` -> `1.19` |...

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/stretchr/testify](https://togithub.com/stretchr/testify) | require | minor | `v1.7.1` -> `v1.8.1` | ---...

This PR adds a `UpdateContext` to the `session` object, which allow to change the context of an already running SRTP / SRTCP session. This is needed for DTLS restart, as...

### Your environment. - Version: master - Browser: *include version* - Other Information - *stacktraces, related issues, suggestions how to fix, links for us to have context* ### What did...

This PR fixes the memory layout of some structs to reduce their size (aligned for 8 bytes, which should be most platforms). - `srtpSSRCState` goes from `40` bytes to `32`...

**current:** ``` EncryptRTP(dst []byte, plaintext []byte, header *rtp.Header) ([]byte, error) ``` **proposed:** ``` EncryptRTP(dst []byte, packet *rtp.Packet) ([]byte, error) ``` **pros:** 1. Simpler API when callers use `*rtp.Packet`. 2. Avoids...

Currently we never clear these maps, if we add/remove tracks they SSRCes could just become leaks. When we implement re-offers/re-answers make sure these get cleaned.

#### Description I have implemented AES_256. This encryption used in many [HomeKit Cameras](https://github.com/brutella/hap/blob/23f73765f946e49b3d48bc4b2aab2349ef76f285/rtp/configuration.go#L19). And this changes works fine with them. FFmpeg don't support this encryption. GStreamer support, but I haven't...

#### Description Make ProtectionProfile methods public. This allows to get values like key length and use them with key management protocols like MIKEY, instead of creating own constants for this....