Exemplo n.º 1
0
static gboolean
kms_sdp_base_group_add_answer_attributes (KmsISdpSessionExtension * ext,
    const GstSDPMessage * offer, GstSDPMessage * answer, GError ** error)
{
  KmsSdpBaseGroup *self = KMS_SDP_BASE_GROUP (ext);

  return KMS_SDP_BASE_GROUP_GET_CLASS (self)->add_answer_attributes (self,
      offer, answer, error);
}
Exemplo n.º 2
0
KmsSdpBaseGroup *
kms_sdp_group_manager_get_group_impl (KmsSdpGroupManager * self,
    KmsSdpHandler * handler)
{
  GHashTableIter iter;
  gpointer key, value;

  g_hash_table_iter_init (&iter, self->priv->groups);

  while (g_hash_table_iter_next (&iter, &key, &value)) {
    KmsSdpBaseGroup *group = KMS_SDP_BASE_GROUP (value);

    if (kms_sdp_base_group_contains_handler (group, handler)) {
      return KMS_SDP_BASE_GROUP (g_object_ref (group));
    }
  }

  return NULL;
}
Exemplo n.º 3
0
static gboolean
kms_sdp_base_group_can_insert_attribute (KmsISdpSessionExtension * ext,
    const GstSDPMessage * offer, const GstSDPAttribute * attr,
    GstSDPMessage * answer)
{
  KmsSdpBaseGroup *self = KMS_SDP_BASE_GROUP (ext);

  return KMS_SDP_BASE_GROUP_GET_CLASS (self)->can_insert_attribute (self, offer,
      attr, answer);
}
Exemplo n.º 4
0
static void
kms_sdp_base_group_finalize (GObject * object)
{
  KmsSdpBaseGroup *self = KMS_SDP_BASE_GROUP (object);

  GST_DEBUG_OBJECT (self, "finalize");

  g_slist_free_full (self->priv->handlers,
      (GDestroyNotify) kms_sdp_agent_common_unref_sdp_handler);

  g_free (self->priv->semantics);

  G_OBJECT_CLASS (parent_class)->finalize (object);
}
Exemplo n.º 5
0
static void
kms_sdp_group_manager_remove_handler_from_groups (KmsSdpGroupManager * self,
    KmsSdpHandler * handler)
{
  GHashTableIter iter;
  gpointer key, value;

  g_hash_table_iter_init (&iter, self->priv->groups);

  while (g_hash_table_iter_next (&iter, &key, &value)) {
    KmsSdpBaseGroup *group = KMS_SDP_BASE_GROUP (value);

    kms_sdp_base_group_remove_media_handler (group, handler, NULL);
  }
}
Exemplo n.º 6
0
static void
kms_sdp_base_group_get_property (GObject * object, guint prop_id,
    GValue * value, GParamSpec * pspec)
{
  KmsSdpBaseGroup *self = KMS_SDP_BASE_GROUP (object);

  switch (prop_id) {
    case PROP_SEMANTICS:
      g_value_set_string (value, self->priv->semantics);
      break;
    case PROP_PRE_PROC:
      g_value_set_boolean (value, self->priv->pre_proc);
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
      break;
  }
}