tsdemux sends gap event before segment event on sparse streams
tsdemux sends a new gap event on sparse streams with timesamp=0 in gst_ts_demux_update_program() and gst_ts_demux_program_started() This happens before the segment event is sent out.
Downstream from tsdemux, this causes an ugly critical warning in GstAggregator based elements when they try to clip the event without a segment.
If streams always need a gap event at the beginning of sparse streams, maybe the gap event should be sent at the end of calculate_and_push_newsegment() using the start of the segment for the timestamp instead of a timestamp of 0?