summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLori Anderson <lori@rkymtnhi.com>2013-11-29 14:40:53 -0700
committerLori Anderson <lori@rkymtnhi.com>2013-11-29 14:40:53 -0700
commit70ff594bd1888971ac7492ba1aec0c886c3b2b91 (patch)
tree840bdcc59d356fe9d866390a8eac543ea2a30e26
parent860812bd5013d465d0fab4317fb763e469395a55 (diff)
Added duration-bytes and duration-nanos properties to support running in standalone mode from webkit. Also fix segfault when performing gst-inspect.
-rw-r--r--src/gstdlnasrc.c28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/gstdlnasrc.c b/src/gstdlnasrc.c
index 45ce478..53fe49b 100644
--- a/src/gstdlnasrc.c
+++ b/src/gstdlnasrc.c
@@ -49,7 +49,9 @@ enum
PROP_IS_DLNA,
PROP_IS_ENCRYPTED,
PROP_DTCP_HOST,
- PROP_DTCP_PORT
+ PROP_DTCP_PORT,
+ PROP_DURATION_BYTES,
+ PROP_DURATION_TIME
};
#define DEFAULT_DTCP_BLOCKSIZE 524288
@@ -438,6 +440,16 @@ gst_dlna_src_class_init (GstDlnaSrcClass * klass)
"Port number to use for dtcp/ip encrypted content", 0,
G_MAXUINT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_klass, PROP_DURATION_TIME,
+ g_param_spec_uint64 ("duration-nanos", "duration of npt content in nanos",
+ "Duration of content in normal play time nanoseconds", 0,
+ G_MAXUINT64, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_klass, PROP_DURATION_BYTES,
+ g_param_spec_uint64 ("duration-bytes", "duration of content in bytes",
+ "Total size in bytes of content duration", 0,
+ G_MAXUINT64, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
gobject_klass->finalize = GST_DEBUG_FUNCPTR (gst_dlna_src_finalize);
gstelement_klass->change_state = gst_dlna_src_change_state;
}
@@ -626,11 +638,21 @@ gst_dlna_src_get_property (GObject * object, guint prop_id, GValue * value,
break;
case PROP_DTCP_HOST:
- g_value_set_string (value, dlna_src->server_info->dtcp_host);
+ if (dlna_src->server_info)
+ g_value_set_string (value, dlna_src->server_info->dtcp_host);
break;
case PROP_DTCP_PORT:
- g_value_set_uint (value, dlna_src->server_info->dtcp_port);
+ if (dlna_src->server_info)
+ g_value_set_uint (value, dlna_src->server_info->dtcp_port);
+ break;
+
+ case PROP_DURATION_TIME:
+ g_value_set_uint64 (value, dlna_src->npt_duration_nanos);
+ break;
+
+ case PROP_DURATION_BYTES:
+ g_value_set_uint64 (value, dlna_src->byte_total);
break;
default: