static void owr_local_media_source_finalize(GObject *object)
{
    OwrLocalMediaSource *source = OWR_LOCAL_MEDIA_SOURCE(object);

    owr_message_origin_bus_set_free(source->priv->message_origin_bus_set);
    source->priv->message_origin_bus_set = NULL;
}
Пример #2
0
static void owr_uri_source_finalize(GObject *object)
{
    OwrURISource *source = OWR_URI_SOURCE(object);

    owr_message_origin_bus_set_free(source->priv->message_origin_bus_set);
    source->priv->message_origin_bus_set = NULL;
}
Пример #3
0
static void owr_media_renderer_finalize(GObject *object)
{
    OwrMediaRenderer *renderer = OWR_MEDIA_RENDERER(object);
    OwrMediaRendererPrivate *priv = renderer->priv;

    owr_message_origin_bus_set_free(priv->message_origin_bus_set);
    priv->message_origin_bus_set = NULL;

    if (priv->pipeline) {
        gst_element_set_state(priv->pipeline, GST_STATE_NULL);
        gst_object_unref(priv->pipeline);
        priv->pipeline = NULL;
        priv->sink = NULL;
    }

    if (priv->source) {
        _owr_media_source_release_source(priv->source, priv->src);
        gst_element_set_state(priv->src, GST_STATE_NULL);
        g_object_unref(priv->source);
        priv->source = NULL;
        priv->src = NULL;
    }

    g_mutex_clear(&priv->media_renderer_lock);

    G_OBJECT_CLASS(owr_media_renderer_parent_class)->finalize(object);
}
Пример #4
0
static void mock_origin_finalize(GObject *object)
{
    MockOrigin *mock = (MockOrigin *) object;

    owr_message_origin_bus_set_free(mock->bus_set);

    G_OBJECT_CLASS(mock_origin_parent_class)->finalize(object);
}
Пример #5
0
static void owr_data_channel_finalize(GObject *object)
{
    OwrDataChannel *data_channel = OWR_DATA_CHANNEL(object);
    OwrDataChannelPrivate *priv = data_channel->priv;

    owr_message_origin_bus_set_free(priv->message_origin_bus_set);
    priv->message_origin_bus_set = NULL;

    if (priv->label)
        g_free(priv->label);
    if (priv->protocol)
        g_free(priv->protocol);

    _owr_data_channel_clear_closures(data_channel);

    G_OBJECT_CLASS(owr_data_channel_parent_class)->finalize(object);
}
Пример #6
0
static void owr_window_registry_finalize(GObject *object)
{
    OwrWindowRegistry *window_registry = OWR_WINDOW_REGISTRY(object);

    g_warn_if_reached();

    G_LOCK(owr_window_registry_mutex);

    if (window_registry == owr_window_registry_instance)
        owr_window_registry_instance = NULL;

    G_UNLOCK(owr_window_registry_mutex);

    g_hash_table_unref(window_registry->priv->registry_hash_table);

    owr_message_origin_bus_set_free(window_registry->priv->message_origin_bus_set);
    window_registry->priv->message_origin_bus_set = NULL;

    G_OBJECT_CLASS(owr_window_registry_parent_class)->finalize(object);
}
Пример #7
0
static void owr_session_finalize(GObject *object)
{
    OwrSession *session = OWR_SESSION(object);
    OwrSessionPrivate *priv = session->priv;

    _owr_session_clear_closures(session);

    if (priv->dtls_certificate)
        g_free(priv->dtls_certificate);
    if (priv->dtls_key)
        g_free(priv->dtls_key);
    if (priv->dtls_peer_certificate)
        g_free(priv->dtls_peer_certificate);

    g_slist_free_full(priv->local_candidates, (GDestroyNotify)g_object_unref);
    g_slist_free_full(priv->remote_candidates, (GDestroyNotify)g_object_unref);
    g_slist_free_full(priv->forced_remote_candidates, (GDestroyNotify)g_object_unref);

    owr_message_origin_bus_set_free(priv->message_origin_bus_set);
    priv->message_origin_bus_set = NULL;

    G_OBJECT_CLASS(owr_session_parent_class)->finalize(object);
}