GST_COLLECT_PADS2_STREAM_LOCK (pads);
- gst_event_parse_new_segment_full (event, &update, &rate, &arate, &format,
- &start, &stop, &time);
+ gst_event_copy_segment (event, &seg);
- GST_DEBUG_OBJECT (data->pad, "got newsegment, start %" GST_TIME_FORMAT
- ", stop %" GST_TIME_FORMAT, GST_TIME_ARGS (start),
- GST_TIME_ARGS (stop));
+ GST_DEBUG_OBJECT (data->pad, "got segment %" GST_SEGMENT_FORMAT, &seg);
- /* default muxing functionality */
- if (!buffer_func)
- goto newsegment_done;
-
/* default collection can not handle other segment formats than time */
- if (seg.format != GST_FORMAT_TIME) {
- if (buffer_func && format != GST_FORMAT_TIME) {
++ if (buffer_func && seg.format != GST_FORMAT_TIME) {
GST_WARNING_OBJECT (pads, "GstCollectPads2 default collecting "
"can only handle time segments. Non time segment ignored.");
goto newsegment_done;
}
- /* accept segment */
- gst_segment_set_newsegment_full (&data->segment, update, rate, arate,
- format, start, stop, time);
-
+ data->segment = seg;
GST_COLLECT_PADS2_STATE_SET (data, GST_COLLECT_PADS2_STATE_NEW_SEGMENT);
+ /* default muxing functionality */
+ if (!buffer_func)
+ goto newsegment_done;
+
/* If oldest time is not known, or current pad got newsegment;
* recalculate the state */
if (!pads->priv->earliest_data || pads->priv->earliest_data == data) {