[Bug 731716] funnel: fix eos handling and unit test case

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 19 01:00:00 PDT 2014


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

--- Comment #4 from Srimanta Panda <panda_srimanta at yahoo.co.in> 2014-06-19 07:59:57 UTC ---

The funnel implementation as such was implemented to forward EOS when all the
sinkpad receives EOS on all input pad. 
And also in the unit test if you see the comment, it was clearly mentioned it
should fail (but the condition check was done not to fail).

The related issue I worked on was
https://bugzilla.gnome.org/show_bug.cgi?id=727945

After that I found the testcase is wrong and modified it.
Also change in funnel code is related to eos. Suppose one of the funnel is
forwarding eos and no data has come to either of the sink pad, then also it was
forwarding the EOS.
because the previous code was like

    if ((GST_EVENT_TYPE (event) == GST_EVENT_EOS) &&
        (!gst_funnel_all_sinkpads_eos_unlocked (funnel, pad))) {
      forward = FALSE;
    } else if (funnel->last_sinkpad && (pad != funnel->last_sinkpad)) {

      ....
    }

So it was faling first condition and also second because (funnel->last_sinkpad
== NULL). And it was forwarding the EOS.

Please let me know if you need any further clarification on it.


(In reply to comment #3)
> It would be nice if your commit message actually explained what you fixed/what
> changed, or how the current behaviour wasn't right (easier for reviewers to
> match that to what the patch does). It seems to me one might want different
> modes for funnel: one where it forwards the first EOS, and one where it only
> forwards EOS once it's see EOS on all input pads. Either seems equally
> plausible IMHO, unless you envision the element is only used on once specific
> use case.

-- 
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