Ejemplo n.º 1
0
GstSDPMedia *
kms_sdp_reject_media_handler_create_answer (KmsSdpMediaHandler * handler,
        const GstSDPMessage * msg, const GstSDPMedia * offer, GError ** error)
{
    GstSDPMedia *m = NULL;

    if (gst_sdp_media_new (&m) != GST_SDP_OK) {
        g_set_error (error, KMS_SDP_AGENT_ERROR, SDP_AGENT_UNEXPECTED_ERROR,
                     "Can not create '%s' media answer", gst_sdp_media_get_media (offer));
        goto error;
    }

    /* Create m-line */
    if (!KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->init_answer (handler, offer,
            m, error)) {
        goto error;
    }

    /* Add attributes to m-line */
    if (!KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->add_answer_attributes
            (handler, offer, m, error)) {
        goto error;
    }

    return m;

error:

    if (m != NULL) {
        gst_sdp_media_free (m);
    }

    return NULL;
}
Ejemplo n.º 2
0
static GstSDPMedia *
kms_sdp_rtp_avpf_media_handler_create_offer (KmsSdpMediaHandler * handler,
    const gchar * media, GError ** error)
{
  GstSDPMedia *m;

  if (gst_sdp_media_new (&m) != GST_SDP_OK) {
    g_set_error (error, KMS_SDP_AGENT_ERROR, SDP_AGENT_UNEXPECTED_ERROR,
        "Can not create '%s' media", media);
    goto error;
  }

  /* Create m-line */
  if (!KMS_SDP_MEDIA_HANDLER_CLASS (parent_class)->init_offer (handler, media,
          m, error)) {
    goto error;
  }

  /* Add attributes to m-line */
  if (!KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->add_offer_attributes (handler,
          m, error)) {
    goto error;
  }

  return m;

error:
  if (m != NULL) {
    gst_sdp_media_free (m);
  }

  return NULL;
}
Ejemplo n.º 3
0
gboolean
kms_sdp_media_handler_set_id (KmsSdpMediaHandler * handler, guint id,
    GError ** error)
{
  g_return_val_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler), FALSE);

  return KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->set_id (handler, id, error);
}
Ejemplo n.º 4
0
gboolean
kms_sdp_media_handler_manage_protocol (KmsSdpMediaHandler * handler,
    const gchar * protocol)
{
  g_return_val_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler), FALSE);

  return KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->manage_protocol (handler,
      protocol);
}
Ejemplo n.º 5
0
void
kms_sdp_media_handler_add_bandwidth (KmsSdpMediaHandler * handler,
    const gchar * bwtype, guint bandwidth)
{
  g_return_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler));

  return KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->add_bandwidth (handler,
      bwtype, bandwidth);
}
Ejemplo n.º 6
0
gboolean
kms_sdp_media_handler_process_answer (KmsSdpMediaHandler * handler,
    const GstSDPMedia * answer, GError ** error)
{
  g_return_val_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler), FALSE);

  return KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->process_answer (handler,
      answer, error);
}
Ejemplo n.º 7
0
GstSDPMedia *
kms_sdp_media_handler_create_answer (KmsSdpMediaHandler * handler,
    SdpMessageContext * ctx, const GstSDPMedia * offer, GError ** error)
{
  g_return_val_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler), NULL);

  return KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->create_answer (handler,
      ctx, offer, error);
}
Ejemplo n.º 8
0
GstSDPMedia *
kms_sdp_media_handler_create_offer (KmsSdpMediaHandler * handler,
    const gchar * media, GError ** error)
{
  g_return_val_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler), NULL);

  return KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->create_offer (handler,
      media, error);
}
Ejemplo n.º 9
0
gboolean
kms_sdp_media_handler_add_media_extension (KmsSdpMediaHandler * handler,
    KmsISdpMediaExtension * ext)
{
  g_return_val_if_fail (KMS_IS_SDP_MEDIA_HANDLER (handler), FALSE);
  g_return_val_if_fail (KMS_IS_I_SDP_MEDIA_EXTENSION (ext), FALSE);

  return
      KMS_SDP_MEDIA_HANDLER_GET_CLASS (handler)->add_media_extension (handler,
      ext);
}
Ejemplo n.º 10
0
static gboolean
instersect_rtp_avpf_media_attr (const GstSDPAttribute * attr,
    gpointer user_data)
{
  struct intersect_data *data = (struct intersect_data *) user_data;

  if (!KMS_SDP_MEDIA_HANDLER_GET_CLASS (data->handler)->
      can_insert_attribute (data->handler, data->offer, attr, data->answer)) {
    return FALSE;
  }

  if (gst_sdp_media_add_attribute (data->answer, attr->key,
          attr->value) != GST_SDP_OK) {
    GST_WARNING ("Cannot add attribute '%s'", attr->key);
    return FALSE;
  }

  return TRUE;
}