oggmux: The best pad can't be EOS
authorMathieu Duponchelle <mathieu.duponchelle@epitech.eu>
Mon, 6 May 2013 20:05:04 +0000 (22:05 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 8 May 2013 12:26:17 +0000 (14:26 +0200)
The problem experienced is that the EOS was never emitted by oggmux during a
rendering with GES. The proposed patch checks if the pad is EOS before deciding
it's the "best pad".

https://bugzilla.gnome.org/show_bug.cgi?id=699792

ext/ogg/gstoggmux.c

index d9b8d31..7e12a61 100644 (file)
@@ -1043,8 +1043,8 @@ gst_ogg_mux_queue_pads (GstOggMux * ogg_mux, gboolean * popped)
     }
 
     /* we should have a buffer now, see if it is the best pad to
-     * pull on */
-    if (pad->buffer) {
+     * pull on. Our best pad can't be eos */
+    if (pad->buffer && !pad->eos) {
       if (gst_ogg_mux_compare_pads (ogg_mux, bestpad, pad) > 0) {
         GST_LOG_OBJECT (data->pad,
             "new best pad, with buffer %" GST_PTR_FORMAT, pad->buffer);