gstmikey

gstmikey

Functions

GstMIKEYMessage * gst_mikey_message_new ()
GstMIKEYMessage * gst_mikey_message_new_from_bytes ()
GstMIKEYMessage * gst_mikey_message_new_from_caps ()
GstMIKEYMessage * gst_mikey_message_new_from_data ()
GBytes * gst_mikey_message_to_bytes ()
gchar * gst_mikey_message_base64_encode ()
GstMIKEYMessage * gst_mikey_message_copy ()
GstMIKEYMessage * gst_mikey_message_ref ()
void gst_mikey_message_unref ()
gboolean gst_mikey_message_set_info ()
guint gst_mikey_message_get_n_cs ()
const GstMIKEYMapSRTP * gst_mikey_message_get_cs_srtp ()
gboolean gst_mikey_message_insert_cs_srtp ()
gboolean gst_mikey_message_remove_cs_srtp ()
gboolean gst_mikey_message_replace_cs_srtp ()
gboolean gst_mikey_message_add_cs_srtp ()
guint gst_mikey_message_get_n_payloads ()
const GstMIKEYPayload * gst_mikey_message_get_payload ()
const GstMIKEYPayload * gst_mikey_message_find_payload ()
gboolean gst_mikey_message_insert_payload ()
gboolean gst_mikey_message_remove_payload ()
gboolean gst_mikey_message_replace_payload ()
gboolean gst_mikey_message_add_payload ()
GstMIKEYPayload * gst_mikey_payload_new ()
GstMIKEYPayload * gst_mikey_payload_copy ()
gboolean gst_mikey_payload_key_data_set_interval ()
gboolean gst_mikey_payload_key_data_set_key ()
gboolean gst_mikey_payload_key_data_set_salt ()
gboolean gst_mikey_payload_key_data_set_spi ()
GstMIKEYPayload * gst_mikey_payload_ref ()
void gst_mikey_payload_unref ()
gboolean gst_mikey_payload_kemac_set ()
gboolean gst_mikey_payload_kemac_add_sub ()
guint gst_mikey_payload_kemac_get_n_sub ()
const GstMIKEYPayload * gst_mikey_payload_kemac_get_sub ()
gboolean gst_mikey_payload_kemac_remove_sub ()
gboolean gst_mikey_payload_pke_set ()
gboolean gst_mikey_message_add_pke ()
gboolean gst_mikey_payload_t_set ()
gboolean gst_mikey_message_add_t ()
gboolean gst_mikey_message_add_t_now_ntp_utc ()
gboolean gst_mikey_payload_rand_set ()
gboolean gst_mikey_message_add_rand ()
gboolean gst_mikey_message_add_rand_len ()
gboolean gst_mikey_payload_sp_set ()
guint gst_mikey_payload_sp_get_n_params ()
const GstMIKEYPayloadSPParam * gst_mikey_payload_sp_get_param ()
gboolean gst_mikey_payload_sp_add_param ()
gboolean gst_mikey_payload_sp_remove_param ()

Types and Values

Includes

#include <gst/sdp/gstmikey.h>

Description

Functions

gst_mikey_message_new ()

GstMIKEYMessage *
gst_mikey_message_new (void);

gst_mikey_message_new_from_bytes ()

GstMIKEYMessage *
gst_mikey_message_new_from_bytes (GBytes *bytes,
                                  GstMIKEYDecryptInfo *info,
                                  GError **error);

gst_mikey_message_new_from_caps ()

GstMIKEYMessage *
gst_mikey_message_new_from_caps (GstCaps *caps);

gst_mikey_message_new_from_data ()

GstMIKEYMessage *
gst_mikey_message_new_from_data (gconstpointer data,
                                 gsize size,
                                 GstMIKEYDecryptInfo *info,
                                 GError **error);

gst_mikey_message_to_bytes ()

GBytes *
gst_mikey_message_to_bytes (GstMIKEYMessage *msg,
                            GstMIKEYEncryptInfo *info,
                            GError **error);

gst_mikey_message_base64_encode ()

gchar *
gst_mikey_message_base64_encode (GstMIKEYMessage *msg);

gst_mikey_message_copy ()

GstMIKEYMessage *
gst_mikey_message_copy (const GstMIKEYMessage *message);

gst_mikey_message_ref ()

GstMIKEYMessage *
gst_mikey_message_ref (GstMIKEYMessage *message);

gst_mikey_message_unref ()

void
gst_mikey_message_unref (GstMIKEYMessage *message);

gst_mikey_message_set_info ()

gboolean
gst_mikey_message_set_info (GstMIKEYMessage *msg,
                            guint8 version,
                            GstMIKEYType type,
                            gboolean V,
                            GstMIKEYPRFFunc prf_func,
                            guint32 CSB_id,
                            GstMIKEYMapType map_type);

gst_mikey_message_get_n_cs ()

guint
gst_mikey_message_get_n_cs (const GstMIKEYMessage *msg);

gst_mikey_message_get_cs_srtp ()

const GstMIKEYMapSRTP *
gst_mikey_message_get_cs_srtp (const GstMIKEYMessage *msg,
                               guint idx);

gst_mikey_message_insert_cs_srtp ()

gboolean
gst_mikey_message_insert_cs_srtp (GstMIKEYMessage *msg,
                                  gint idx,
                                  const GstMIKEYMapSRTP *map);

gst_mikey_message_remove_cs_srtp ()

gboolean
gst_mikey_message_remove_cs_srtp (GstMIKEYMessage *msg,
                                  gint idx);

gst_mikey_message_replace_cs_srtp ()

gboolean
gst_mikey_message_replace_cs_srtp (GstMIKEYMessage *msg,
                                   gint idx,
                                   const GstMIKEYMapSRTP *map);

gst_mikey_message_add_cs_srtp ()

gboolean
gst_mikey_message_add_cs_srtp (GstMIKEYMessage *msg,
                               guint8 policy,
                               guint32 ssrc,
                               guint32 roc);

gst_mikey_message_get_n_payloads ()

guint
gst_mikey_message_get_n_payloads (const GstMIKEYMessage *msg);

gst_mikey_message_get_payload ()

const GstMIKEYPayload *
gst_mikey_message_get_payload (const GstMIKEYMessage *msg,
                               guint idx);

gst_mikey_message_find_payload ()

const GstMIKEYPayload *
gst_mikey_message_find_payload (const GstMIKEYMessage *msg,
                                GstMIKEYPayloadType type,
                                guint nth);

gst_mikey_message_insert_payload ()

gboolean
gst_mikey_message_insert_payload (GstMIKEYMessage *msg,
                                  guint idx,
                                  GstMIKEYPayload *payload);

gst_mikey_message_remove_payload ()

gboolean
gst_mikey_message_remove_payload (GstMIKEYMessage *msg,
                                  guint idx);

gst_mikey_message_replace_payload ()

gboolean
gst_mikey_message_replace_payload (GstMIKEYMessage *msg,
                                   guint idx,
                                   GstMIKEYPayload *payload);

gst_mikey_message_add_payload ()

gboolean
gst_mikey_message_add_payload (GstMIKEYMessage *msg,
                               GstMIKEYPayload *payload);

gst_mikey_payload_new ()

GstMIKEYPayload *
gst_mikey_payload_new (GstMIKEYPayloadType type);

gst_mikey_payload_copy ()

GstMIKEYPayload *
gst_mikey_payload_copy (const GstMIKEYPayload *payload);

gst_mikey_payload_key_data_set_interval ()

gboolean
gst_mikey_payload_key_data_set_interval
                               (GstMIKEYPayload *payload,
                                guint8 vf_len,
                                const guint8 *vf_data,
                                guint8 vt_len,
                                const guint8 *vt_data);

gst_mikey_payload_key_data_set_key ()

gboolean
gst_mikey_payload_key_data_set_key (GstMIKEYPayload *payload,
                                    GstMIKEYKeyDataType key_type,
                                    guint16 key_len,
                                    const guint8 *key_data);

gst_mikey_payload_key_data_set_salt ()

gboolean
gst_mikey_payload_key_data_set_salt (GstMIKEYPayload *payload,
                                     guint16 salt_len,
                                     const guint8 *salt_data);

gst_mikey_payload_key_data_set_spi ()

gboolean
gst_mikey_payload_key_data_set_spi (GstMIKEYPayload *payload,
                                    guint8 spi_len,
                                    const guint8 *spi_data);

gst_mikey_payload_ref ()

GstMIKEYPayload *
gst_mikey_payload_ref (GstMIKEYPayload *payload);

gst_mikey_payload_unref ()

void
gst_mikey_payload_unref (GstMIKEYPayload *payload);

gst_mikey_payload_kemac_set ()

gboolean
gst_mikey_payload_kemac_set (GstMIKEYPayload *payload,
                             GstMIKEYEncAlg enc_alg,
                             GstMIKEYMacAlg mac_alg);

gst_mikey_payload_kemac_add_sub ()

gboolean
gst_mikey_payload_kemac_add_sub (GstMIKEYPayload *payload,
                                 GstMIKEYPayload *newpay);

gst_mikey_payload_kemac_get_n_sub ()

guint
gst_mikey_payload_kemac_get_n_sub (const GstMIKEYPayload *payload);

gst_mikey_payload_kemac_get_sub ()

const GstMIKEYPayload *
gst_mikey_payload_kemac_get_sub (const GstMIKEYPayload *payload,
                                 guint idx);

gst_mikey_payload_kemac_remove_sub ()

gboolean
gst_mikey_payload_kemac_remove_sub (GstMIKEYPayload *payload,
                                    guint idx);

gst_mikey_payload_pke_set ()

gboolean
gst_mikey_payload_pke_set (GstMIKEYPayload *payload,
                           GstMIKEYCacheType C,
                           guint16 data_len,
                           const guint8 *data);

gst_mikey_message_add_pke ()

gboolean
gst_mikey_message_add_pke (GstMIKEYMessage *msg,
                           GstMIKEYCacheType C,
                           guint16 data_len,
                           const guint8 *data);

gst_mikey_payload_t_set ()

gboolean
gst_mikey_payload_t_set (GstMIKEYPayload *payload,
                         GstMIKEYTSType type,
                         const guint8 *ts_value);

gst_mikey_message_add_t ()

gboolean
gst_mikey_message_add_t (GstMIKEYMessage *msg,
                         GstMIKEYTSType type,
                         const guint8 *ts_value);

gst_mikey_message_add_t_now_ntp_utc ()

gboolean
gst_mikey_message_add_t_now_ntp_utc (GstMIKEYMessage *msg);

gst_mikey_payload_rand_set ()

gboolean
gst_mikey_payload_rand_set (GstMIKEYPayload *payload,
                            guint8 len,
                            const guint8 *rand);

gst_mikey_message_add_rand ()

gboolean
gst_mikey_message_add_rand (GstMIKEYMessage *msg,
                            guint8 len,
                            const guint8 *rand);

gst_mikey_message_add_rand_len ()

gboolean
gst_mikey_message_add_rand_len (GstMIKEYMessage *msg,
                                guint8 len);

gst_mikey_payload_sp_set ()

gboolean
gst_mikey_payload_sp_set (GstMIKEYPayload *payload,
                          guint policy,
                          GstMIKEYSecProto proto);

gst_mikey_payload_sp_get_n_params ()

guint
gst_mikey_payload_sp_get_n_params (const GstMIKEYPayload *payload);

gst_mikey_payload_sp_get_param ()

const GstMIKEYPayloadSPParam *
gst_mikey_payload_sp_get_param (const GstMIKEYPayload *payload,
                                guint idx);

gst_mikey_payload_sp_add_param ()

gboolean
gst_mikey_payload_sp_add_param (GstMIKEYPayload *payload,
                                guint8 type,
                                guint8 len,
                                const guint8 *val);

gst_mikey_payload_sp_remove_param ()

gboolean
gst_mikey_payload_sp_remove_param (GstMIKEYPayload *payload,
                                   guint idx);

Types and Values

GST_MIKEY_VERSION

#define GST_MIKEY_VERSION 1

enum GstMIKEYType

Members

GST_MIKEY_TYPE_INVALID

   

GST_MIKEY_TYPE_PSK_INIT

   

GST_MIKEY_TYPE_PSK_VERIFY

   

GST_MIKEY_TYPE_PK_INIT

   

GST_MIKEY_TYPE_PK_VERIFY

   

GST_MIKEY_TYPE_DH_INIT

   

GST_MIKEY_TYPE_DH_RESP

   

GST_MIKEY_TYPE_ERROR

   

struct GstMIKEYMessage

struct GstMIKEYMessage {
  guint8 version;
  GstMIKEYType type;
  gboolean V;
  GstMIKEYPRFFunc prf_func;
  guint32 CSB_id;
  GstMIKEYMapType map_type;
  GArray *map_info;
  GArray *payloads;
};

enum GstMIKEYPRFFunc

Members

GST_MIKEY_PRF_MIKEY_1

   

enum GstMIKEYMapType

Members

GST_MIKEY_MAP_TYPE_SRTP

   

GstMIKEYMapSRTP

typedef struct {
  guint8  policy;
  guint32 ssrc;
  guint32 roc;
} GstMIKEYMapSRTP;

enum GstMIKEYPayloadType

Members

GST_MIKEY_PT_LAST

   

GST_MIKEY_PT_KEMAC

   

GST_MIKEY_PT_PKE

   

GST_MIKEY_PT_DH

   

GST_MIKEY_PT_SIGN

   

GST_MIKEY_PT_T

   

GST_MIKEY_PT_ID

   

GST_MIKEY_PT_CERT

   

GST_MIKEY_PT_CHASH

   

GST_MIKEY_PT_V

   

GST_MIKEY_PT_SP

   

GST_MIKEY_PT_RAND

   

GST_MIKEY_PT_ERR

   

GST_MIKEY_PT_KEY_DATA

   

GST_MIKEY_PT_GEN_EXT

   

struct GstMIKEYPayload

struct GstMIKEYPayload {
  GstMIKEYPayloadType type;
  guint len;
};

enum GstMIKEYEncAlg

Members

GST_MIKEY_ENC_NULL

   

GST_MIKEY_ENC_AES_CM_128

   

GST_MIKEY_ENC_AES_KW_128

   

enum GstMIKEYMacAlg

Members

GST_MIKEY_MAC_NULL

   

GST_MIKEY_MAC_HMAC_SHA_1_160

   

GstMIKEYPayloadKEMAC

typedef struct {
  GstMIKEYPayload pt;

  GstMIKEYEncAlg  enc_alg;
  GstMIKEYMacAlg  mac_alg;
  GArray *subpayloads;
} GstMIKEYPayloadKEMAC;

enum GstMIKEYCacheType

Members

GST_MIKEY_CACHE_NONE

   

GST_MIKEY_CACHE_ALWAYS

   

GST_MIKEY_CACHE_FOR_CSB

   

GstMIKEYPayloadPKE

typedef struct {
  GstMIKEYPayload pt;

  GstMIKEYCacheType C;
  guint16           data_len;
  guint8           *data;
} GstMIKEYPayloadPKE;

enum GstMIKEYTSType

Members

GST_MIKEY_TS_TYPE_NTP_UTC

   

GST_MIKEY_TS_TYPE_NTP

   

GST_MIKEY_TS_TYPE_COUNTER

   

GstMIKEYPayloadT

typedef struct {
  GstMIKEYPayload pt;

  GstMIKEYTSType  type;
  guint8         *ts_value;
} GstMIKEYPayloadT;

GstMIKEYPayloadRAND

typedef struct {
  GstMIKEYPayload pt;

  guint8  len;
  guint8 *rand;
} GstMIKEYPayloadRAND;

enum GstMIKEYSecProto

Members

GST_MIKEY_SEC_PROTO_SRTP

   

enum GstMIKEYSecSRTP

Members

GST_MIKEY_SP_SRTP_ENC_ALG

   

GST_MIKEY_SP_SRTP_ENC_KEY_LEN

   

GST_MIKEY_SP_SRTP_AUTH_ALG

   

GST_MIKEY_SP_SRTP_AUTH_KEY_LEN

   

GST_MIKEY_SP_SRTP_SALT_KEY_LEN

   

GST_MIKEY_SP_SRTP_PRF

   

GST_MIKEY_SP_SRTP_KEY_DERIV_RATE

   

GST_MIKEY_SP_SRTP_SRTP_ENC

   

GST_MIKEY_SP_SRTP_SRTCP_ENC

   

GST_MIKEY_SP_SRTP_FEC_ORDER

   

GST_MIKEY_SP_SRTP_SRTP_AUTH

   

GST_MIKEY_SP_SRTP_AUTH_TAG_LEN

   

GST_MIKEY_SP_SRTP_SRTP_PREFIX_LEN

   

GstMIKEYPayloadSP

typedef struct {
  GstMIKEYPayload pt;

  guint policy;
  GstMIKEYSecProto proto;
  GArray *params;
} GstMIKEYPayloadSP;

GstMIKEYPayloadSPParam

typedef struct {
  guint8  type;
  guint8  len;
  guint8 *val;
} GstMIKEYPayloadSPParam;