GstMatroskaMux *mux;
GstPad *pad;
GstTagList *list;
+ gboolean ret = FALSE;
mux = GST_MATROSKA_MUX (user_data);
collect_pad = (GstMatroskaPad *) data;
collect_pad = (GstMatroskaPad *) gst_pad_get_element_private (pad);
gst_event_parse_caps (event, &caps);
- collect_pad->capsfunc (pad, caps);
+ ret = collect_pad->capsfunc (pad, caps);
gst_event_unref (event);
event = NULL;
break;
gst_event_unref (event);
/* handled this, don't want collectpads to forward it downstream */
event = NULL;
+ ret = TRUE;
break;
}
case GST_EVENT_SEGMENT:{
gst_event_parse_segment (event, &segment);
if (segment->format != GST_FORMAT_TIME) {
- gst_event_unref (event);
- event = NULL;
+ ret = FALSE;
}
+ gst_event_unref (event);
+ event = NULL;
+ ret = TRUE;
break;
}
case GST_EVENT_CUSTOM_DOWNSTREAM:{
/* transform into private data for stream; text form */
gst_matroska_mux_build_vobsub_private (context, clut);
}
- break;
}
+ /* fall through */
default:
+ ret = gst_pad_event_default (data->pad, GST_OBJECT (mux), event);
+ break;
+ case GST_EVENT_EOS:
+ gst_event_unref (event);
+ ret = TRUE;
break;
}
- /* now GstCollectPads2 can take care of the rest, e.g. EOS */
- return (event == NULL);
+ return ret;
}
static void