if (!avipad->auds.format)
goto refuse_caps;
+ avipad->parent.hdr.fcc_handler = avipad->auds.format;
gst_avi_mux_audsink_set_fields (avimux, avipad);
gst_object_unref (avimux);
if (!avipad->collect)
continue;
+ if (!avipad->hdr.fcc_handler)
+ goto not_negotiated;
+
buffer = gst_collect_pads_peek (avimux->collect, avipad->collect);
if (!buffer)
continue;
gst_pad_push_event (avimux->srcpad, gst_event_new_eos ());
return GST_FLOW_UNEXPECTED;
}
+
+ /* ERRORS */
+not_negotiated:
+ {
+ GST_ELEMENT_ERROR (avimux, CORE, NEGOTIATION, (NULL),
+ ("pad %s not negotiated", GST_PAD_NAME (avipad->collect->pad)));
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
}
static GstFlowReturn