An ASYNC READY->PAUSED might have failed without the bin code noticing during
the state change, in which case we will never get PAUSED->READY and would leak
messages.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
goto activate_failure;
break;
case GST_STATE_NULL:
+ /* Clear message list on next NULL */
+ GST_OBJECT_LOCK (bin);
+ GST_DEBUG_OBJECT (element, "clearing all cached messages");
+ bin_remove_messages (bin, NULL, GST_MESSAGE_ANY);
+ GST_OBJECT_UNLOCK (bin);
if (current == GST_STATE_READY) {
if (!(gst_bin_src_pads_activate (bin, FALSE)))
goto activate_failure;