diff options
author | Lori Anderson <lori@rkymtnhi.com> | 2013-11-29 14:40:53 -0700 |
---|---|---|
committer | Lori Anderson <lori@rkymtnhi.com> | 2013-11-29 14:40:53 -0700 |
commit | 70ff594bd1888971ac7492ba1aec0c886c3b2b91 (patch) | |
tree | 840bdcc59d356fe9d866390a8eac543ea2a30e26 | |
parent | 860812bd5013d465d0fab4317fb763e469395a55 (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.c | 28 |
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: |