subparse->strip_pango_markup = FALSE;
subparse->flushing = FALSE;
gst_segment_init (&subparse->segment, GST_FORMAT_TIME);
+ subparse->segment_seqnum = gst_util_seqnum_next ();
subparse->need_segment = TRUE;
subparse->encoding = g_strdup (DEFAULT_ENCODING);
subparse->detected_encoding = NULL;
/* Push newsegment if needed */
if (self->need_segment) {
+ GstEvent *segment_event = gst_event_new_segment (&self->segment);
GST_LOG_OBJECT (self, "pushing newsegment event with %" GST_SEGMENT_FORMAT,
&self->segment);
- gst_pad_push_event (self->srcpad, gst_event_new_segment (&self->segment));
+ gst_event_set_seqnum (segment_event, self->segment_seqnum);
+ gst_pad_push_event (self->srcpad, segment_event);
self->need_segment = FALSE;
}
gst_event_copy_segment (event, &self->segment);
GST_DEBUG_OBJECT (self, "newsegment (%s)",
gst_format_get_name (self->segment.format));
+ self->segment_seqnum = gst_event_get_seqnum (event);
/* if not time format, we'll either start with a 0 timestamp anyway or
* it's following a seek in which case we'll have saved the requested