commit fb840a55f35f6dbaeb4d2f2e6edeb0d6dcf9583f
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Tue Jan 26 11:01:44 2010 +0100

    multiqueue: handle UNEXPECTED flowreturn correctly
    
    When we receive an UNEXPECTED flowreturn from downstream, we must not shutdown
    the pushing thread because upstream will at some point push an EOS that we still
    need to push further downstream.
    
    Fixes #608136

diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c
index 0b8439c..4c3f31b 100644
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -1101,7 +1101,8 @@ gst_multi_queue_loop (GstPad * pad)
     result = gst_single_queue_push_one (mq, sq, object);
     sq->srcresult = result;
 
-    if (result != GST_FLOW_OK && result != GST_FLOW_NOT_LINKED)
+    if (result != GST_FLOW_OK && result != GST_FLOW_NOT_LINKED
+        && result != GST_FLOW_UNEXPECTED)
       goto out_flushing;
 
     GST_LOG_OBJECT (mq, "AFTER PUSHING sq->srcresult: %s",
