GstCaps *current_caps = gst_pad_get_current_caps (pad);
if (!gst_rtp_mux_setcaps (pad, rtp_mux, current_caps)) {
- ret = GST_FLOW_NOT_NEGOTIATED;
+ gst_pad_mark_reconfigure (rtp_mux->srcpad);
+ if (GST_PAD_IS_FLUSHING (rtp_mux->srcpad))
+ ret = GST_FLOW_FLUSHING;
+ else
+ ret = GST_FLOW_NOT_NEGOTIATED;
gst_buffer_list_unref (bufferlist);
goto out;
}
GstCaps *current_caps = gst_pad_get_current_caps (pad);
if (!gst_rtp_mux_setcaps (pad, rtp_mux, current_caps)) {
- ret = GST_FLOW_NOT_NEGOTIATED;
+ gst_pad_mark_reconfigure (rtp_mux->srcpad);
+ if (GST_PAD_IS_FLUSHING (rtp_mux->srcpad))
+ ret = GST_FLOW_FLUSHING;
+ else
+ ret = GST_FLOW_NOT_NEGOTIATED;
gst_buffer_unref (buffer);
goto out;
}