[Bug 740949] inputselector: sticky events haven't send out when active track reach EOS.

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Dec 18 02:08:53 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=740949
  GStreamer | gstreamer (core) | 1.2.3

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #292788|none                        |reviewed
             status|                            |

--- Comment #21 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2014-12-18 10:08:47 UTC ---
Review of attachment 292788:
 --> (https://bugzilla.gnome.org/review?bug=740949&attachment=292788)

::: plugins/elements/gstinputselector.c
@@ +562,3 @@
         forward = (active_selpad->eos && !active_selpad->eos_sent);
         active_selpad->eos_sent = TRUE;
+        gst_input_selector_eos_wait (sel, selpad);

You probably should go out here immediately if self->flushing is TRUE

@@ +563,3 @@
         active_selpad->eos_sent = TRUE;
+        gst_input_selector_eos_wait (sel, selpad);
+        forward = TRUE;

This looks wrong, you first set forward conditionally and then unconditionally
to TRUE :)

I'm not sure all this logic is correct either. See the comment in the code a
few lines above. I think if what was described in that comment happened, we
shouldn't wait but forward the EOS event immediately instead of waiting.

@@ +567,2 @@
       }
       GST_DEBUG_OBJECT (pad, "received EOS");

I think if we're forwarding the EOS event here, we should set eos_block to
FALSE and wake up any other pads that might currently be waiting.


Also instead of eos_block... isn't this more a boolean that describes if the
whole selector is EOS now? So maybe just call it self->eos or self->eos_sent or
self->is_eos or something like that.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list