static void
gupnp_dlna_information_set_property (GObject      *object,
                                     guint         property_id,
                                     const GValue *value,
                                     GParamSpec   *pspec)
{
        GUPnPDLNAInformation *self = GUPNP_DLNA_INFORMATION (object);
        GUPnPDLNAInformationPrivate *priv = GET_PRIVATE (self);

        switch (property_id) {
                case PROP_DLNA_NAME:
                        g_free (priv->name);
                        priv->name = g_value_dup_string (value);

                        break;

                case PROP_DLNA_MIME:
                        g_free (priv->mime);
                        priv->mime = g_value_dup_string (value);

                        break;

                case PROP_DISCOVERER_INFO:
                        if (priv->info)
                                gst_discoverer_info_unref (priv->info);
                        priv->info = GST_DISCOVERER_INFO
                                (gst_value_dup_mini_object (value));

                        break;

                default:
                        G_OBJECT_WARN_INVALID_PROPERTY_ID (object,
                                                           property_id,
                                                           pspec);

                        break;
        }
}
static void
gupnp_dlna_gst_image_information_set_property (GObject      *object,
        guint         property_id,
        const GValue *value,
        GParamSpec   *pspec)
{
    GUPnPDLNAGstImageInformation *info =
        GUPNP_DLNA_GST_IMAGE_INFORMATION (object);
    GUPnPDLNAGstImageInformationPrivate *priv = info->priv;

    switch (property_id) {
    case PROP_INFO:
        g_clear_pointer (&priv->info,
                         gupnp_dlna_gst_discoverer_info_unref);
        priv->info =
            GST_DISCOVERER_INFO (gst_value_dup_mini_object (value));
        break;

    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
        break;
    }
}