oggmux: check for EOS on both current and best pad

Oops, need both.  Fixes #654270.
This commit is contained in:
David Schleef 2011-07-09 18:33:38 -07:00
parent 2fa9bf2be5
commit a5323107d4

View file

@ -1374,6 +1374,19 @@ gst_ogg_mux_process_best_pad (GstOggMux * ogg_mux, GstOggPadData * best)
} }
} }
/* We could end up pushing from the best pad instead, so check that
* as well */
if (best && best != ogg_mux->pulling) {
next_buf = gst_collect_pads_peek (ogg_mux->collect, &best->collect);
if (next_buf) {
best->eos = FALSE;
gst_buffer_unref (next_buf);
} else {
GST_DEBUG_OBJECT (best->collect.pad, "setting eos to true");
best->eos = TRUE;
}
}
/* if we were already pulling from one pad, but the new "best" buffer is /* if we were already pulling from one pad, but the new "best" buffer is
* from another pad, we need to check if we have reason to flush a page * from another pad, we need to check if we have reason to flush a page
* for the pad we were pulling from before */ * for the pad we were pulling from before */