[Bug 750033] basetransform - allow collation/separation of buffers
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri May 29 12:57:33 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=750033
--- Comment #4 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 304157:
--> (https://bugzilla.gnome.org/review?bug=750033&attachment=304157)
The submit_input_buffer() (you could maybe call the queue_input_buffer()?) and
generate_output_buffer() API also seems a bit suboptimal to me.
It seems more optimal to the default submit_input_buffer() queue one buffer,
and then call generate_output_buffer() until that is done, and call some kind
of finish_buffer() with the result(s). Instead of having the call to
generate_output_buffer() directly in the chain/getrange functions, and
magically forward the results.
That way you could have subclasses that override submit_input_buffer() to take
control over the complete data flow (e.g. queue things up, have some other
thread generate output and call finish()), or subclasses that have the default
submit_input_buffer() and override just generate_output_buffer() to produce 0,
1 or many output buffers from one single input buffer. It seems like a more
generic data flow model that can be customized more.
::: libs/gst/base/gstbasetransform.h
@@ +93,3 @@
+ /* Default submit_input_buffer places the buffer here,
+ * for consumption by the generate_output method: */
+ GstBuffer *queued_buf;
Or what about buffer lists :)
--
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