One option could be to set the bus to flushing once we've run into a problem. That will essentially mean dropping all messages after that on the floor as far as *our* code is concerned, GStreamer will still handle whatever it cares about. (Note that this is something that needs to be done in to audio).