Use gst_element_klass_set_details_simple(), install properties with static strings, create pads directly from the static pad templates, directly put the segment into the instance struct, use GST_MSECOND instead of numbers. The PAR is a GstFraction and not a double, use gst_structure_get_fraction(). Simplify setcaps() functions.