/** * progress_buffer_class_init() * * Sets up the GLib object oriented C class structure for ProgressBuffer. */ static void progress_buffer_class_init (ProgressBufferClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass); gst_element_class_set_static_metadata (element_class, "Progressive download plugin", "Element", "Progressively stores incoming data in memory or file", "Oracle Corporation"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&source_template)); gobject_class->set_property = GST_DEBUG_FUNCPTR(progress_buffer_set_property); gobject_class->get_property = GST_DEBUG_FUNCPTR(progress_buffer_get_property); gobject_class->finalize = GST_DEBUG_FUNCPTR(progress_buffer_finalize); GST_ELEMENT_CLASS (klass)->change_state = GST_DEBUG_FUNCPTR(progress_buffer_change_state); g_object_class_install_property (gobject_class, PROP_THRESHOLD, g_param_spec_double ("threshold", "Message threshold", "Message emission threshold in percents.", 0.0 /* minimum value */, 100.0 /* maximum value */, 1.0 /* default value */, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, PROP_BANDWIDTH, g_param_spec_double ("bandwidth", "Network bandwidth", "Network bandwidth in bytes/second", 0.0 /* minimum value */, G_MAXDOUBLE /* maximum value */, 0.0 /* default value */, G_PARAM_READABLE)); g_object_class_install_property (gobject_class, PROP_PREBUFFER_TIME, g_param_spec_double ("prebuffer-time", "Prebuffer time", "Controls prebuffer for prebuffer-time*bandwidth before emitting RANGE_READY event.", 0.0 /* minimum value */, 20.0 /* maximum value */, 2.0 /* default value */, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, PROP_WAIT_TOLERANCE, g_param_spec_double ("wait-tolerance", "Wait tolerance timeout", "Threshold timeout before emitting seek request to the specified range position.", 0.0 /* minimum value */, 20.0 /* maximum value */, 2.0 /* default value */, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); cache_static_init(); }
/** * hls_progress_buffer_class_init() * * Sets up the GLib object oriented C class structure for ProgressBuffer. */ static void hls_progress_buffer_class_init (HLSProgressBufferClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = hls_progress_buffer_finalize; GST_ELEMENT_CLASS (klass)->change_state = hls_progress_buffer_change_state; cache_static_init(); }