multiqueue: Flush the data queue if downstream return WRONG_STATE too

This commit is contained in:
Sebastian Dröge 2010-08-27 16:49:14 +02:00
parent 2e6f80bf81
commit 8035f13bbf

View file

@ -1122,11 +1122,11 @@ out_flushing:
/* upstream needs to see fatal result ASAP to shut things down, /* upstream needs to see fatal result ASAP to shut things down,
* but might be stuck in one of our other full queues; * but might be stuck in one of our other full queues;
* so empty this one and trigger dynamic queue growth */ * so empty this one and trigger dynamic queue growth. At
if (sq->srcresult <= GST_FLOW_UNEXPECTED) { * this point the srcresult is not OK, NOT_LINKED
gst_data_queue_flush (sq->queue); * or UNEXPECTED, i.e. a real failure */
single_queue_underrun_cb (sq->queue, sq); gst_data_queue_flush (sq->queue);
} single_queue_underrun_cb (sq->queue, sq);
gst_data_queue_set_flushing (sq->queue, TRUE); gst_data_queue_set_flushing (sq->queue, TRUE);
gst_pad_pause_task (sq->srcpad); gst_pad_pause_task (sq->srcpad);
GST_CAT_LOG_OBJECT (multi_queue_debug, mq, GST_CAT_LOG_OBJECT (multi_queue_debug, mq,