[Bug 709224] audio/videodecoder: Not returning GST_FLOW_EOS when after segment

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Nov 1 16:05:41 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=709224
  GStreamer | gst-plugins-base | git

--- Comment #34 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2013-11-01 23:05:36 UTC ---
Generally looks fine to me (thanks for reworking this!), but I still have a
nagging feeling that it could be even better.

Some random comments:

 - in the commit message: GstFlowReturnCombiner -> GstFlowCombiner

 - FLOW_FLUSH aggregation should be documented in docs chunk too

 - gst_flow_combiner_update_flow_return() - quite long, how about
   just _add_flow() or _combine_flow()?

 - gst_flow_combiner_get_flow_return(): do we really need to iterate over
   all pads every time? Can't we store the last aggregated flow return and
   combine that with the new one in most cases?

 - all this hashtable stuff irks me a little, even if it's just an internal
   implementation detail.

 - wonder if it shouldn't go into gstpad.c as GstPadFlowCombiner, then we
   could just use the GstPad private struct and store the last flow there ;)
   (or we could do that anyway via some internal helper funcs if we wanted to)

 - another idea: I think most elements (esp. demuxers) have a derived pad or
   pad-related stream structure which they operate on, so they could store
   some kind of GstFlowCombinerPadID in there as well. You could hand those
   out when the demuxer/element does _add_pad(), and it could just be a
   counter or whatever (just typedef it to guintptr then it can be anything
   in future), then you don't need the hashtable and can just do pads[i]
   inside the flow combiner, etc.

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