return it;
}
+/* must be called with the SELECTOR_LOCK, will block while the pad is blocked
+ * or return TRUE when flushing */
static gboolean
-gst_input_selector_eos_wait (GstInputSelector * self, GstSelectorPad * pad)
+gst_input_selector_wait (GstInputSelector * self, GstSelectorPad * pad)
{
- while (!self->eos && !self->flushing && !pad->flushing) {
+ while (!self->eos && self->blocked && !self->flushing && !pad->flushing) {
/* we can be unlocked here when we are shutting down (flushing) or when we
* get unblocked */
GST_INPUT_SELECTOR_WAIT (self);
if (!forward) {
/* blocked until active the sind pad or flush */
- gst_input_selector_eos_wait (sel, selpad);
+ gst_input_selector_wait (sel, selpad);
forward = TRUE;
} else {
/* Notify all waiting pads about going EOS now */
return res;
}
-/* must be called with the SELECTOR_LOCK, will block while the pad is blocked
- * or return TRUE when flushing */
-static gboolean
-gst_input_selector_wait (GstInputSelector * self, GstSelectorPad * pad)
-{
- while (self->blocked && !self->flushing && !pad->flushing) {
- /* we can be unlocked here when we are shutting down (flushing) or when we
- * get unblocked */
- GST_INPUT_SELECTOR_WAIT (self);
- }
- return self->flushing;
-}
-
static GstClockTime
gst_input_selector_get_clipped_running_time (GstSegment * seg, GstBuffer * buf)
{