|
Packit |
712bc5 |
/*
|
|
Packit |
712bc5 |
* Copyright (C) 2009 Nokia Corporation.
|
|
Packit |
712bc5 |
* Copyright (C) 2007, 2008 OpenedHand Ltd.
|
|
Packit |
712bc5 |
* Copyright (C) 2012 Intel Corporation
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Authors: Zeeshan Ali (Khattak) <zeeshan.ali@nokia.com>
|
|
Packit |
712bc5 |
* <zeeshanak@gnome.org>
|
|
Packit |
712bc5 |
* Jorn Baayen <jorn@openedhand.com>
|
|
Packit |
712bc5 |
* Krzesimir Nowak <krnowak@openismus.com>
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* This library is free software; you can redistribute it and/or
|
|
Packit |
712bc5 |
* modify it under the terms of the GNU Library General Public
|
|
Packit |
712bc5 |
* License as published by the Free Software Foundation; either
|
|
Packit |
712bc5 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
712bc5 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
712bc5 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
712bc5 |
* Library General Public License for more details.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* You should have received a copy of the GNU Library General Public
|
|
Packit |
712bc5 |
* License along with this library; if not, write to the
|
|
Packit |
712bc5 |
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Packit |
712bc5 |
* Boston, MA 02110-1301, USA.
|
|
Packit |
712bc5 |
*/
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* SECTION:gupnp-didl-lite-resource
|
|
Packit |
712bc5 |
* @short_description: DIDL-Lite Resource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* #GUPnPDIDLLiteResource respresent a DIDL-Lite resource (res) element.
|
|
Packit |
712bc5 |
*/
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
#include <string.h>
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
#include "gupnp-didl-lite-resource.h"
|
|
Packit |
712bc5 |
#include "gupnp-didl-lite-resource-private.h"
|
|
Packit |
712bc5 |
#include "xml-util.h"
|
|
Packit |
712bc5 |
#include "time-utils.h"
|
|
Packit |
712bc5 |
#include "xsd-data.h"
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
G_DEFINE_TYPE (GUPnPDIDLLiteResource,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource,
|
|
Packit |
712bc5 |
G_TYPE_OBJECT);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
struct _GUPnPDIDLLiteResourcePrivate {
|
|
Packit |
712bc5 |
xmlNode *xml_node;
|
|
Packit |
712bc5 |
GUPnPAVXMLDoc *xml_doc;
|
|
Packit |
712bc5 |
xmlNs *dlna_ns;
|
|
Packit |
712bc5 |
xmlNs *pv_ns;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
GUPnPProtocolInfo *protocol_info;
|
|
Packit |
712bc5 |
};
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
enum {
|
|
Packit |
712bc5 |
PROP_0,
|
|
Packit |
712bc5 |
PROP_XML_NODE,
|
|
Packit |
712bc5 |
PROP_XML_DOC,
|
|
Packit |
712bc5 |
PROP_DLNA_NAMESPACE,
|
|
Packit |
712bc5 |
PROP_PV_NAMESPACE,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_URI,
|
|
Packit |
712bc5 |
PROP_IMPORT_URI,
|
|
Packit |
712bc5 |
PROP_PROTOCOL_INFO,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_SIZE,
|
|
Packit |
712bc5 |
PROP_SIZE64,
|
|
Packit |
712bc5 |
PROP_CLEAR_TEXT_SIZE,
|
|
Packit |
712bc5 |
PROP_DURATION,
|
|
Packit |
712bc5 |
PROP_BITRATE,
|
|
Packit |
712bc5 |
PROP_SAMPLE_FREQ,
|
|
Packit |
712bc5 |
PROP_BITS_PER_SAMPLE,
|
|
Packit |
712bc5 |
PROP_PROTECTION,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_AUDIO_CHANNELS,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_WIDTH,
|
|
Packit |
712bc5 |
PROP_HEIGHT,
|
|
Packit |
712bc5 |
PROP_COLOR_DEPTH,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_UPDATE_COUNT,
|
|
Packit |
712bc5 |
PROP_TRACK_TOTAL,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_SUBTITLE_FILE_TYPE,
|
|
Packit |
712bc5 |
PROP_SUBTITLE_FILE_URI
|
|
Packit |
712bc5 |
};
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
get_resolution_info (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int *width,
|
|
Packit |
712bc5 |
int *height)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
const char *resolution;
|
|
Packit |
712bc5 |
char **tokens;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
resolution = xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"resolution");
|
|
Packit |
712bc5 |
if (resolution == NULL)
|
|
Packit |
712bc5 |
return;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
tokens = g_strsplit (resolution, "x", -1);
|
|
Packit |
712bc5 |
if (tokens == NULL || tokens[0] == NULL || tokens[1] == NULL) {
|
|
Packit |
712bc5 |
g_warning ("Failed to resolution string '%s'\n", resolution);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
goto return_point;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (width)
|
|
Packit |
712bc5 |
*width = atoi (tokens[0]);
|
|
Packit |
712bc5 |
if (height)
|
|
Packit |
712bc5 |
*height = atoi (tokens[1]);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return_point:
|
|
Packit |
712bc5 |
g_strfreev (tokens);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
on_protocol_info_changed (GUPnPProtocolInfo *info,
|
|
Packit |
712bc5 |
G_GNUC_UNUSED GParamSpec *pspec,
|
|
Packit |
712bc5 |
gpointer user_data)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GUPnPDIDLLiteResource *resource = GUPNP_DIDL_LITE_RESOURCE (user_data);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_protocol_info (resource, info);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_init (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
resource->priv = G_TYPE_INSTANCE_GET_PRIVATE
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
GUPNP_TYPE_DIDL_LITE_RESOURCE,
|
|
Packit |
712bc5 |
GUPnPDIDLLiteResourcePrivate);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_property (GObject *object,
|
|
Packit |
712bc5 |
guint property_id,
|
|
Packit |
712bc5 |
const GValue *value,
|
|
Packit |
712bc5 |
GParamSpec *pspec)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GUPnPDIDLLiteResource *resource;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
resource = GUPNP_DIDL_LITE_RESOURCE (object);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
switch (property_id) {
|
|
Packit |
712bc5 |
case PROP_XML_NODE:
|
|
Packit |
712bc5 |
resource->priv->xml_node = g_value_get_pointer (value);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_XML_DOC:
|
|
Packit |
712bc5 |
resource->priv->xml_doc = g_value_dup_boxed (value);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_URI:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_uri (resource,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_IMPORT_URI:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_import_uri
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_PROTOCOL_INFO:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_protocol_info
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_object (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SIZE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_size (resource,
|
|
Packit |
712bc5 |
g_value_get_long (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SIZE64:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_size64 (resource,
|
|
Packit |
712bc5 |
g_value_get_int64 (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_DLNA_NAMESPACE:
|
|
Packit |
712bc5 |
resource->priv->dlna_ns = g_value_get_pointer (value);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_PV_NAMESPACE:
|
|
Packit |
712bc5 |
resource->priv->pv_ns = g_value_get_pointer (value);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_CLEAR_TEXT_SIZE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_cleartext_size (resource,
|
|
Packit |
712bc5 |
g_value_get_int64 (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_DURATION:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_duration
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_long (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_BITRATE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_bitrate (resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SAMPLE_FREQ:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_sample_freq
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_BITS_PER_SAMPLE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_bits_per_sample
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_PROTECTION:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_protection
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_AUDIO_CHANNELS:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_audio_channels
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_WIDTH:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_width (resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_HEIGHT:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_height (resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_COLOR_DEPTH:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_color_depth
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_int (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_UPDATE_COUNT:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_update_count
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_uint (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_TRACK_TOTAL:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_track_total
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_uint (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SUBTITLE_FILE_TYPE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_subtitle_file_type
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SUBTITLE_FILE_URI:
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_subtitle_file_uri
|
|
Packit |
712bc5 |
(resource,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
default:
|
|
Packit |
712bc5 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_property (GObject *object,
|
|
Packit |
712bc5 |
guint property_id,
|
|
Packit |
712bc5 |
GValue *value,
|
|
Packit |
712bc5 |
GParamSpec *pspec)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GUPnPDIDLLiteResource *resource;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
resource = GUPNP_DIDL_LITE_RESOURCE (object);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
switch (property_id) {
|
|
Packit |
712bc5 |
case PROP_XML_NODE:
|
|
Packit |
712bc5 |
g_value_set_pointer
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_xml_node (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_URI:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_uri (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_IMPORT_URI:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_import_uri (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_PROTOCOL_INFO:
|
|
Packit |
712bc5 |
g_value_set_object
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_protocol_info (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SIZE:
|
|
Packit |
712bc5 |
g_value_set_long (value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_size (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SIZE64:
|
|
Packit |
712bc5 |
g_value_set_int64 (value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_size64 (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_DLNA_NAMESPACE:
|
|
Packit |
712bc5 |
g_value_set_pointer
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_dlna_namespace (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_PV_NAMESPACE:
|
|
Packit |
712bc5 |
g_value_set_pointer
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_pv_namespace (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_CLEAR_TEXT_SIZE:
|
|
Packit |
712bc5 |
g_value_set_int64
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_cleartext_size (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_DURATION:
|
|
Packit |
712bc5 |
g_value_set_long
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_duration (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_BITRATE:
|
|
Packit |
712bc5 |
g_value_set_int
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_bitrate (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_BITS_PER_SAMPLE:
|
|
Packit |
712bc5 |
g_value_set_int
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_bits_per_sample
|
|
Packit |
712bc5 |
(resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SAMPLE_FREQ:
|
|
Packit |
712bc5 |
g_value_set_int
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_sample_freq (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_PROTECTION:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_protection (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_AUDIO_CHANNELS:
|
|
Packit |
712bc5 |
g_value_set_int
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_audio_channels
|
|
Packit |
712bc5 |
(resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_WIDTH:
|
|
Packit |
712bc5 |
g_value_set_int (value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_width (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_HEIGHT:
|
|
Packit |
712bc5 |
g_value_set_int
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_height (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_COLOR_DEPTH:
|
|
Packit |
712bc5 |
g_value_set_int
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_color_depth (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_UPDATE_COUNT:
|
|
Packit |
712bc5 |
g_value_set_uint
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_update_count (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_TRACK_TOTAL:
|
|
Packit |
712bc5 |
g_value_set_uint
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_track_total (resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SUBTITLE_FILE_TYPE:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_subtitle_file_type
|
|
Packit |
712bc5 |
(resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_SUBTITLE_FILE_URI:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_subtitle_file_uri
|
|
Packit |
712bc5 |
(resource));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
default:
|
|
Packit |
712bc5 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_dispose (GObject *object)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GObjectClass *object_class;
|
|
Packit |
712bc5 |
GUPnPDIDLLiteResourcePrivate *priv;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
priv = GUPNP_DIDL_LITE_RESOURCE (object)->priv;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (priv->protocol_info != NULL) {
|
|
Packit |
712bc5 |
g_object_unref (priv->protocol_info);
|
|
Packit |
712bc5 |
priv->protocol_info = NULL;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
object_class = G_OBJECT_CLASS (gupnp_didl_lite_resource_parent_class);
|
|
Packit |
712bc5 |
object_class->dispose (object);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_class_init (GUPnPDIDLLiteResourceClass *klass)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GObjectClass *object_class;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
object_class = G_OBJECT_CLASS (klass);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
object_class->set_property = gupnp_didl_lite_resource_set_property;
|
|
Packit |
712bc5 |
object_class->get_property = gupnp_didl_lite_resource_get_property;
|
|
Packit |
712bc5 |
object_class->dispose = gupnp_didl_lite_resource_dispose;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_type_class_add_private (klass, sizeof (GUPnPDIDLLiteResourcePrivate));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:xml-node:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The pointer to res node in XML document.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_XML_NODE,
|
|
Packit |
712bc5 |
g_param_spec_pointer ("xml-node",
|
|
Packit |
712bc5 |
"XMLNode",
|
|
Packit |
712bc5 |
"The pointer to res node in XML"
|
|
Packit |
712bc5 |
" document.",
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_CONSTRUCT_ONLY |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:xml-doc:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The reference to XML document containing this object.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Internal property.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Stability: Private
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_XML_DOC,
|
|
Packit |
712bc5 |
g_param_spec_boxed ("xml-doc",
|
|
Packit |
712bc5 |
"XMLDoc",
|
|
Packit |
712bc5 |
"The reference to XML document"
|
|
Packit |
712bc5 |
" containing this object.",
|
|
Packit |
712bc5 |
xml_doc_get_type (),
|
|
Packit |
712bc5 |
G_PARAM_WRITABLE |
|
|
Packit |
712bc5 |
G_PARAM_CONSTRUCT_ONLY |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:uri:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The URI associated with this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_URI,
|
|
Packit |
712bc5 |
g_param_spec_string ("uri",
|
|
Packit |
712bc5 |
"URI",
|
|
Packit |
712bc5 |
"The URI associated with this resource",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:import-uri:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The Import URI associated with this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_IMPORT_URI,
|
|
Packit |
712bc5 |
g_param_spec_string ("import-uri",
|
|
Packit |
712bc5 |
"ImportURI",
|
|
Packit |
712bc5 |
"The import URI associated with this"
|
|
Packit |
712bc5 |
" resource",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:protocol-info:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The protocol info associated with this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_PROTOCOL_INFO,
|
|
Packit |
712bc5 |
g_param_spec_object ("protocol-info",
|
|
Packit |
712bc5 |
"ProtocolInfo",
|
|
Packit |
712bc5 |
"The protocol info associated with this"
|
|
Packit |
712bc5 |
" resource",
|
|
Packit |
712bc5 |
GUPNP_TYPE_PROTOCOL_INFO,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:size:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The size (in bytes) of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_SIZE,
|
|
Packit |
712bc5 |
g_param_spec_long ("size",
|
|
Packit |
712bc5 |
"Size",
|
|
Packit |
712bc5 |
"The size (in bytes) of this resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXLONG,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:size64:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The size (in bytes) of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_SIZE64,
|
|
Packit |
712bc5 |
g_param_spec_int64 ("size64",
|
|
Packit |
712bc5 |
"Size64",
|
|
Packit |
712bc5 |
"The size (in bytes) of this resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT64,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:clearTextsize:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The size (in bytes) of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_CLEAR_TEXT_SIZE,
|
|
Packit |
712bc5 |
g_param_spec_int64 ("cleartext-size",
|
|
Packit |
712bc5 |
"ClearTextSize",
|
|
Packit |
712bc5 |
"The clear text size (in bytes) of this resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXLONG,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:dlna-namespace:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Pointer to the DLNA metadata namespace registered with the
|
|
Packit |
712bc5 |
* resource object.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_DLNA_NAMESPACE,
|
|
Packit |
712bc5 |
g_param_spec_pointer ("dlna-namespace",
|
|
Packit |
712bc5 |
"XML namespace",
|
|
Packit |
712bc5 |
"Pointer to the DLNA metadata namespace "
|
|
Packit |
712bc5 |
"registered with the resource.",
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_CONSTRUCT_ONLY |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:pv-namespace:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Pointer to the PV metadata namespace registered with the
|
|
Packit |
712bc5 |
* resource object.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_PV_NAMESPACE,
|
|
Packit |
712bc5 |
g_param_spec_pointer ("pv-namespace",
|
|
Packit |
712bc5 |
"XML namespace",
|
|
Packit |
712bc5 |
"Pointer to the PV metadata namespace "
|
|
Packit |
712bc5 |
"registered with the resource.",
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_CONSTRUCT_ONLY |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_STRINGS));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:duration:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The duration (in seconds) of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_DURATION,
|
|
Packit |
712bc5 |
g_param_spec_long ("duration",
|
|
Packit |
712bc5 |
"Duration",
|
|
Packit |
712bc5 |
"The duration (in seconds) of this"
|
|
Packit |
712bc5 |
" resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXLONG,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:bitrate:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The bitrate of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_BITRATE,
|
|
Packit |
712bc5 |
g_param_spec_int ("bitrate",
|
|
Packit |
712bc5 |
"Bitrate",
|
|
Packit |
712bc5 |
"The bitrate of this resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:sample-freq:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The sample frequency of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_SAMPLE_FREQ,
|
|
Packit |
712bc5 |
g_param_spec_int ("sample-freq",
|
|
Packit |
712bc5 |
"SampleFrequency",
|
|
Packit |
712bc5 |
"The sample frequency of this resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:bits-per-sample:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The sample size of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_BITS_PER_SAMPLE,
|
|
Packit |
712bc5 |
g_param_spec_int ("bits-per-sample",
|
|
Packit |
712bc5 |
"BitsPerSample",
|
|
Packit |
712bc5 |
"The sample size of this resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:protection:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The protection system used for this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_PROTECTION,
|
|
Packit |
712bc5 |
g_param_spec_string ("protection",
|
|
Packit |
712bc5 |
"Protection",
|
|
Packit |
712bc5 |
"The protection system used by this"
|
|
Packit |
712bc5 |
" resource.",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:audio-channels:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The number of audio channels in this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_AUDIO_CHANNELS,
|
|
Packit |
712bc5 |
g_param_spec_int ("audio-channels",
|
|
Packit |
712bc5 |
"AudioChannels",
|
|
Packit |
712bc5 |
"The number of audio channels in this"
|
|
Packit |
712bc5 |
" resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:width:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The width of this image/video resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_WIDTH,
|
|
Packit |
712bc5 |
g_param_spec_int ("width",
|
|
Packit |
712bc5 |
"Width",
|
|
Packit |
712bc5 |
"The width of this image/video resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:height:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The height of this image/video resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_HEIGHT,
|
|
Packit |
712bc5 |
g_param_spec_int ("height",
|
|
Packit |
712bc5 |
"Height",
|
|
Packit |
712bc5 |
"The height of this image/video resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:color-depth:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The color-depth of this image/video resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_COLOR_DEPTH,
|
|
Packit |
712bc5 |
g_param_spec_int ("color-depth",
|
|
Packit |
712bc5 |
"ColorDepth",
|
|
Packit |
712bc5 |
"The color-depth of this image/video"
|
|
Packit |
712bc5 |
" resource.",
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_MAXINT,
|
|
Packit |
712bc5 |
-1,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:update_count:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The update count of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_UPDATE_COUNT,
|
|
Packit |
712bc5 |
g_param_spec_uint ("update-count",
|
|
Packit |
712bc5 |
"UpdateCount",
|
|
Packit |
712bc5 |
"The update count of this resource.",
|
|
Packit |
712bc5 |
0,
|
|
Packit |
712bc5 |
G_MAXUINT,
|
|
Packit |
712bc5 |
0,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:track-total:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Number of tracks in a DIDL_S or DIDL_V resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_TRACK_TOTAL,
|
|
Packit |
712bc5 |
g_param_spec_uint ("track-total",
|
|
Packit |
712bc5 |
"TrackTotal",
|
|
Packit |
712bc5 |
"The number of tracks of this "
|
|
Packit |
712bc5 |
"resource.",
|
|
Packit |
712bc5 |
0,
|
|
Packit |
712bc5 |
G_MAXUINT,
|
|
Packit |
712bc5 |
0,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_STRINGS));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:subtitle-file-type:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Type of external subtitle file. Usually SRT or SMI.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_SUBTITLE_FILE_TYPE,
|
|
Packit |
712bc5 |
g_param_spec_string ("subtitle-file-type",
|
|
Packit |
712bc5 |
"Subtitle file type",
|
|
Packit |
712bc5 |
"Type of the external subtitle "
|
|
Packit |
712bc5 |
"file",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_STRINGS));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteResource:subtitle-file-uri:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Uri to external subtitle file.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_SUBTITLE_FILE_TYPE,
|
|
Packit |
712bc5 |
g_param_spec_string ("subtitle-file-uri",
|
|
Packit |
712bc5 |
"Subtitle file uri",
|
|
Packit |
712bc5 |
"Uri of the external subtitle "
|
|
Packit |
712bc5 |
"file",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_STRINGS));
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_new_from_xml:
|
|
Packit |
712bc5 |
* @xml_node: The pointer to 'res' node in XML document
|
|
Packit |
712bc5 |
* @xml_doc: The reference to XML document containing this resource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Creates a new #GUPnPDIDLLiteResource for the @xml_node.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: A new #GUPnPDIDLLiteResource object. Unref after usage.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
GUPnPDIDLLiteResource *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_new_from_xml (xmlNode *xml_node,
|
|
Packit |
712bc5 |
GUPnPAVXMLDoc *xml_doc,
|
|
Packit |
712bc5 |
xmlNs *dlna_ns,
|
|
Packit |
712bc5 |
xmlNs *pv_ns)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
return g_object_new (GUPNP_TYPE_DIDL_LITE_RESOURCE,
|
|
Packit |
712bc5 |
"xml-node", xml_node,
|
|
Packit |
712bc5 |
"xml-doc", xml_doc,
|
|
Packit |
712bc5 |
"dlna-namespace", dlna_ns,
|
|
Packit |
712bc5 |
"pv-namespace", pv_ns,
|
|
Packit |
712bc5 |
NULL);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_xml_node:
|
|
Packit |
712bc5 |
* @resource: The #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the pointer to res node in XML document.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: (transfer none): The pointer to res node in XML document.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
xmlNode *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_xml_node (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return resource->priv->xml_node;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_dlna_namespace:
|
|
Packit |
712bc5 |
* @resource: The #GUPnPDIDLLiteObject
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the pointer to the DLNA metadata namespace registered with the XML
|
|
Packit |
712bc5 |
* document containing this object.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: (transfer none): The pointer to DLNA namespace in XML document.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
xmlNsPtr
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_dlna_namespace (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return resource->priv->dlna_ns;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_pv_namespace:
|
|
Packit |
712bc5 |
* @resource: The #GUPnPDIDLLiteObject
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the pointer to the DLNA metadata namespace registered with the XML
|
|
Packit |
712bc5 |
* document containing this object.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: (transfer none): The pointer to DLNA namespace in XML document.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
xmlNsPtr
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_pv_namespace (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return resource->priv->pv_ns;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_uri:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the URI associated with the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The of URI the @resource or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_uri (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (G_UNLIKELY (resource->priv->xml_node->children == NULL))
|
|
Packit |
712bc5 |
return NULL;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return (const char *) resource->priv->xml_node->children->content;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_import_uri:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the import URI associated with the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The import URI or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_import_uri (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"importUri");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_protocol_info:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the protocol info associated with the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: (transfer none): The protocol info associated with the @resource or %NULL. The
|
|
Packit |
712bc5 |
* returned object must not be unrefed.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
GUPnPProtocolInfo *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_protocol_info (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GUPnPProtocolInfo *info;
|
|
Packit |
712bc5 |
const char *protocol_info;
|
|
Packit |
712bc5 |
GError *error;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (resource->priv->protocol_info != NULL)
|
|
Packit |
712bc5 |
return resource->priv->protocol_info;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
protocol_info = xml_util_get_attribute_content
|
|
Packit |
712bc5 |
(resource->priv->xml_node,
|
|
Packit |
712bc5 |
"protocolInfo");
|
|
Packit |
712bc5 |
if (protocol_info == NULL)
|
|
Packit |
712bc5 |
return NULL;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
error = NULL;
|
|
Packit |
712bc5 |
info = gupnp_protocol_info_new_from_string (protocol_info, &error);
|
|
Packit |
712bc5 |
if (info == NULL) {
|
|
Packit |
712bc5 |
g_warning ("Error parsing protocolInfo '%s': %s",
|
|
Packit |
712bc5 |
protocol_info,
|
|
Packit |
712bc5 |
error->message);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_error_free (error);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
resource->priv->protocol_info = info;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return info;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_size:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the size (in bytes) of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The size (in bytes) of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
glong
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_size (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
return (glong) gupnp_didl_lite_resource_get_size64 (resource);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_size64:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the size (in bytes) of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The size (in bytes) of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
gint64
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_size64 (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_int64_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"size",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_cleartext_size:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the size (in bytes) of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The size (in bytes) of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
gint64
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_cleartext_size (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_int64_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"cleartextSize",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_duration:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the duration (in seconds) of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The duration (in seconds) of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
glong
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_duration (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
const char *duration_str;
|
|
Packit |
712bc5 |
long duration;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
duration_str = xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"duration");
|
|
Packit |
712bc5 |
duration = seconds_from_time (duration_str);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return duration;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_bitrate:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the bitrate (in bytes per second) of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The bitrate (in bytes per second) of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_bitrate (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_long_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"bitrate",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_sample_freq:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the sample frequency of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The sample frequency of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_sample_freq (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_long_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"sampleFrequency",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_bits_per_sample:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the sample size of the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The number of bits per sample of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_bits_per_sample (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_long_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"bitsPerSample",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_protection:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the protection system used by the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The protection system in use by the @resource or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_protection (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"protection");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_audio_channels:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the number of audio channels in the @resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The number of audio channels in the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_audio_channels (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_long_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"nrAudioChannels",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_width:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the width of this image/video resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The width of this image/video resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_width (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
int width = -1;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
get_resolution_info (resource, &width, NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return width;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_height:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the height of this image/video resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The height of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_height (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
int height = -1;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
get_resolution_info (resource, NULL, &height);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return height;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_color_depth:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the color-depth of this image/video resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The color depth of the @resource or -1.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
int
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_color_depth (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), -1);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_long_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"colorDepth",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_update_count:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the update count of this resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The update count of the @resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
guint
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_update_count (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), 0);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_uint_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"updateCount",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_track_total:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the total track count of this resource.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The total track count of the @resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
guint
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_track_total (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), 0);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_uint_attribute (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"trackTotal",
|
|
Packit |
712bc5 |
-1);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_update_count_is_set:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Check whether the update count property of this resource is set.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: %TRUE if set, otherwise %FALSE.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
gboolean
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_update_count_is_set (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
const char *content;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), FALSE);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
content = xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"updateCount");
|
|
Packit |
712bc5 |
return content != NULL;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_track_total_is_set:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Check whether the total track count property of this resource is set.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: %TRUE if set, otherwise %FALSE.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
gboolean
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_track_total_is_set (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
const char *content;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), FALSE);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
content = xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"trackTotal");
|
|
Packit |
712bc5 |
return content != NULL;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_uri:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @uri: The URI as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the URI associated with the @resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_uri (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
const char *uri)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
xmlChar *escaped;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
g_return_if_fail (uri != NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
escaped = xmlEncodeSpecialChars (resource->priv->xml_doc->doc,
|
|
Packit |
712bc5 |
(const unsigned char *) uri);
|
|
Packit |
712bc5 |
xmlNodeSetContent (resource->priv->xml_node, escaped);
|
|
Packit |
712bc5 |
xmlFree (escaped);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "uri");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_import_uri:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @import_uri: The URI as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the import URI associated with the @resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_import_uri (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
const char *import_uri)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "importUri",
|
|
Packit |
712bc5 |
(unsigned char *) import_uri);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "import-uri");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_protocol_info:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @info: The protocol string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the protocol info associated with the @resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_protocol_info (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
GUPnPProtocolInfo *info)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_PROTOCOL_INFO (info));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = gupnp_protocol_info_to_string (info);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "protocolInfo",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/* Get a ref first in case it's the same object that we already have */
|
|
Packit |
712bc5 |
g_object_ref (info);
|
|
Packit |
712bc5 |
if (resource->priv->protocol_info != NULL)
|
|
Packit |
712bc5 |
g_object_unref (resource->priv->protocol_info);
|
|
Packit |
712bc5 |
resource->priv->protocol_info = info;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/* We need to listen to changes to properties so we update the
|
|
Packit |
712bc5 |
* corresponding xml property.
|
|
Packit |
712bc5 |
*/
|
|
Packit |
712bc5 |
g_signal_handlers_disconnect_by_func (info,
|
|
Packit |
712bc5 |
on_protocol_info_changed,
|
|
Packit |
712bc5 |
resource);
|
|
Packit |
712bc5 |
g_signal_connect (info,
|
|
Packit |
712bc5 |
"notify",
|
|
Packit |
712bc5 |
G_CALLBACK (on_protocol_info_changed),
|
|
Packit |
712bc5 |
resource);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "protocol-info");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_size:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @size: The size (in bytes)
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the size (in bytes) of the @resource. Passing a negative number will
|
|
Packit |
712bc5 |
* unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_size (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
glong size)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_size64 (resource, size);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_size64:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @size: The size (in bytes)
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the size (in bytes) of the @resource. Passing a negative number will
|
|
Packit |
712bc5 |
* unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_size64 (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
gint64 size)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (size < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "size");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%" G_GINT64_FORMAT, size);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "size",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "size64");
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "size");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_cleartext_size:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @cleartext_size: The size (in bytes)
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the size (in bytes) of the @resource. Passing a negative number will
|
|
Packit |
712bc5 |
* unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_cleartext_size
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
gint64 cleartext_size)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (cleartext_size < 0)
|
|
Packit |
712bc5 |
xmlUnsetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->dlna_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "cleartextSize");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%" G_GINT64_FORMAT, cleartext_size);
|
|
Packit |
712bc5 |
xml_util_get_ns (resource->priv->xml_doc->doc,
|
|
Packit |
712bc5 |
GUPNP_XML_NAMESPACE_DLNA,
|
|
Packit |
712bc5 |
&(resource->priv->dlna_ns));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->dlna_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "cleartextSize",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "cleartext-size");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_duration:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @duration: The duration (in seconds)
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the duration (in seconds) of the @resource. Passing a negative number
|
|
Packit |
712bc5 |
* will unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_duration (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
glong duration)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (duration < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "duration");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = seconds_to_time (duration);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "duration",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "duration");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_bitrate:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @bitrate: The bitrate
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the bitrate (in bytes per second) of the @resource. Passing a negative
|
|
Packit |
712bc5 |
* number will unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_bitrate (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int bitrate)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (bitrate < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "bitrate");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%d", bitrate);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "bitrate",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "bitrate");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_sample_freq:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @sample_freq: The sample frequency
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the sample frequency of the @resource. Passing a negative number will
|
|
Packit |
712bc5 |
* unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_sample_freq (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int sample_freq)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (sample_freq < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "sampleFrequency");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%d", sample_freq);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "sampleFrequency",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "sample-freq");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_bits_per_sample:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @sample_size: The number of bits per sample
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the sample size of the @resource. Passing a negative number will unset
|
|
Packit |
712bc5 |
* this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_bits_per_sample
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int sample_size)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (sample_size < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "bitsPerSample");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%d", sample_size);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "bitsPerSample",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "bits-per-sample");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_protection:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @protection: The protection system identifier as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the protection system used by the @resource. Passing a negative number
|
|
Packit |
712bc5 |
* will unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_protection (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
const char *protection)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "protection",
|
|
Packit |
712bc5 |
(unsigned char *) protection);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "protection");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_audio_channels:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @n_channels: The number of channels
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the number of audio channels in the @resource. Passing a negative number
|
|
Packit |
712bc5 |
* will unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_audio_channels (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int n_channels)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (n_channels < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "nrAudioChannels");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%d", n_channels);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "nrAudioChannels",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "audio-channels");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_width:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @width: The width
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the width of this image/video resource. Setting both width and height to
|
|
Packit |
712bc5 |
* a negative number will unset the resolution property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_width (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int width)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
char *resolution;
|
|
Packit |
712bc5 |
int height = -1;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
get_resolution_info (resource, NULL, &height);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (width < 0 && height < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "resolution");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
resolution = g_strdup_printf ("%dx%d", width, height);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "resolution",
|
|
Packit |
712bc5 |
(unsigned char *) resolution);
|
|
Packit |
712bc5 |
g_free (resolution);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "width");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_height:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @height: The height
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the height of this image/video resource. Setting both width and height to
|
|
Packit |
712bc5 |
* a negative number will unset the resolution property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_height (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int height)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
int width = -1;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
get_resolution_info (resource, &width, NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (width < 0 && height < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "resolution");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *resolution;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
resolution = g_strdup_printf ("%dx%d", width, height);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "resolution",
|
|
Packit |
712bc5 |
(unsigned char *) resolution);
|
|
Packit |
712bc5 |
g_free (resolution);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "height");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_color_depth:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @color_depth: The color-depth
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the color-depth of this image/video resource. Passing a negative number
|
|
Packit |
712bc5 |
* will unset this property.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_color_depth (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
int color_depth)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (color_depth < 0)
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "colorDepth");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%d", color_depth);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "colorDepth",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "color-depth");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_update_count:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @update_count: The update_count
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the update count of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_update_count (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
guint update_count)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%u", update_count);
|
|
Packit |
712bc5 |
xmlSetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "updateCount",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "update-count");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_track_total:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @track_total: The total number of tracks in this resource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the total number of tracks in this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_track_total (GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
guint track_total)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
char *str;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xml_util_get_ns (resource->priv->xml_doc->doc,
|
|
Packit |
712bc5 |
GUPNP_XML_NAMESPACE_DLNA,
|
|
Packit |
712bc5 |
&(resource->priv->dlna_ns));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
str = g_strdup_printf ("%u", track_total);
|
|
Packit |
712bc5 |
xmlSetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->dlna_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "trackTotal",
|
|
Packit |
712bc5 |
(unsigned char *) str);
|
|
Packit |
712bc5 |
g_free (str);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "track-total");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_unset_update_count:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Unset the update count of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_unset_update_count (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlUnsetProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "updateCount");
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "update-count");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_unset_track_total:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Unset the total track count of this resource.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_unset_track_total (GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlUnsetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->dlna_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "trackTotal");
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "track-total");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_subtitle_file_uri:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: The content of the subtitleFileUri property or %NULL when not set.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Since: 0.12.4
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_subtitle_file_uri
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"subtitleFileUri");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_get_subtitle_file_type:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: The content of the subtitleFileType property or %NULL
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Since: 0.12.4
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_get_subtitle_file_type
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteResource *resource)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (resource->priv->xml_node,
|
|
Packit |
712bc5 |
"subtitleFileType");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_subtitle_file_uri:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @uri: (allow-none): An URI to an external subtitle file or %NULL to remove.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the URI of an external subtitle file to be used with this resource.
|
|
Packit |
712bc5 |
* When @uri is %NULL the value is removed.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Since: 0.12.4
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_subtitle_file_uri
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
const char *uri)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (uri == NULL)
|
|
Packit |
712bc5 |
xmlUnsetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->pv_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "subtitleFileUri");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
xml_util_get_ns (resource->priv->xml_doc->doc,
|
|
Packit |
712bc5 |
GUPNP_XML_NAMESPACE_PV,
|
|
Packit |
712bc5 |
&(resource->priv->pv_ns));
|
|
Packit |
712bc5 |
xmlSetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->pv_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "subtitleFileUri",
|
|
Packit |
712bc5 |
(unsigned char *) uri);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "subtitle-file-uri");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_resource_set_subtitle_file_type:
|
|
Packit |
712bc5 |
* @resource: A #GUPnPDIDLLiteResource
|
|
Packit |
712bc5 |
* @type: (allow-none): An URI to an external subtitle file
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the type of an external subtitle file, specified via
|
|
Packit |
712bc5 |
* pv:subtitleFileUri using gupnp_didl_lite_resource_set_subtitle_file_uri().
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* When @type is %NULL the value is removed.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Since: 0.12.4
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_resource_set_subtitle_file_type
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteResource *resource,
|
|
Packit |
712bc5 |
const char *type)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_RESOURCE (resource));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
if (type == NULL)
|
|
Packit |
712bc5 |
xmlUnsetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->pv_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "subtitleFileUri");
|
|
Packit |
712bc5 |
else {
|
|
Packit |
712bc5 |
xml_util_get_ns (resource->priv->xml_doc->doc,
|
|
Packit |
712bc5 |
GUPNP_XML_NAMESPACE_PV,
|
|
Packit |
712bc5 |
&(resource->priv->pv_ns));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetNsProp (resource->priv->xml_node,
|
|
Packit |
712bc5 |
resource->priv->pv_ns,
|
|
Packit |
712bc5 |
(unsigned char *) "subtitleFileType",
|
|
Packit |
712bc5 |
(unsigned char *) type);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (resource), "subtitle-file-type");
|
|
Packit |
712bc5 |
}
|