static void xmr_player_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { XmrPlayer *player = XMR_PLAYER(object); XmrPlayerPrivate *priv = player->priv; switch(prop_id) { case PROP_PLAYBIN: g_value_set_object (value, priv->playbin); break; case PROP_BUS: if (priv->playbin) { GstBus *bus; bus = gst_element_get_bus (priv->playbin); g_value_set_object(value, bus); gst_object_unref(bus); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } }
static void xmr_player_dispose(GObject *object) { XmrPlayer *player = XMR_PLAYER(object); XmrPlayerPrivate *priv = player->priv; if (priv->tick_timeout_id != 0) { g_source_remove (priv->tick_timeout_id); priv->tick_timeout_id = 0; } if (priv->playbin != NULL) { gst_element_set_state(priv->playbin, GST_STATE_NULL); g_object_unref(priv->playbin); priv->playbin = NULL; priv->audio_sink = NULL; } g_free(priv->uri); g_free(priv->prev_uri); G_OBJECT_CLASS(xmr_player_parent_class)->dispose(object); }
static void xmr_player_dispose(GObject *object) { XmrPlayer *player = XMR_PLAYER(object); XmrPlayerPrivate *priv = player->priv; libvlc_event_manager_t *event_mgr; gint i; event_mgr = libvlc_media_player_event_manager(priv->player); for (i = 0; i < g_vlc_event_count; ++i) libvlc_event_detach(event_mgr, g_vlc_events[i], vlc_event_callback, player); if (priv->event_idle_id != 0) { g_source_remove (priv->event_idle_id); priv->event_idle_id = 0; } if (priv->event_queue) { g_async_queue_unref(priv->event_queue); priv->event_queue = NULL; } libvlc_media_player_release(priv->player); libvlc_release(priv->instance); G_OBJECT_CLASS(xmr_player_parent_class)->dispose(object); }
static void xmr_player_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { XmrPlayer *player = XMR_PLAYER(object); XmrPlayerPrivate *priv = player->priv; switch(prop_id) { case PROP_PLAYER: g_value_set_object (value, priv->player); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } }