From 8035f13bbf5a87e1c3b392044927ed6c5bd25f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 27 Aug 2010 16:49:14 +0200 Subject: [PATCH] multiqueue: Flush the data queue if downstream return WRONG_STATE too --- plugins/elements/gstmultiqueue.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c index d9bbba9560..be653fbd36 100644 --- a/plugins/elements/gstmultiqueue.c +++ b/plugins/elements/gstmultiqueue.c @@ -1122,11 +1122,11 @@ out_flushing: /* upstream needs to see fatal result ASAP to shut things down, * but might be stuck in one of our other full queues; - * so empty this one and trigger dynamic queue growth */ - if (sq->srcresult <= GST_FLOW_UNEXPECTED) { - gst_data_queue_flush (sq->queue); - single_queue_underrun_cb (sq->queue, sq); - } + * so empty this one and trigger dynamic queue growth. At + * this point the srcresult is not OK, NOT_LINKED + * or UNEXPECTED, i.e. a real failure */ + gst_data_queue_flush (sq->queue); + single_queue_underrun_cb (sq->queue, sq); gst_data_queue_set_flushing (sq->queue, TRUE); gst_pad_pause_task (sq->srcpad); GST_CAT_LOG_OBJECT (multi_queue_debug, mq,