[gstreamer-bugs] [Bug 590014] Future of parsers

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Dec 10 18:20:21 PST 2009


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

--- Comment #5 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2009-12-11 02:20:16 UTC ---
I've been thinking about this lately and had an idea (I haven't looked at this
vorbiscomments and ID3 tags).

I think of this parsing library to be implemented below GstAdapter, something
like GstParsingAdapter, and the elements would push buffers to it (just like a
regular adapter) but then would do gst_parsing_adapter_pull_parsed to get
parsed buffers with caps set.

The real parsing would be done by an internal object that would be held by the
GstParsingAdapter and implement some set of functions. The user would do
something like gst_parsing_adapter_set_format to set it (using caps? or passing
this internal object instance?).

so far, I can imagine gst_parsing_adapter_pull_parsed returning OK, PARSE_ERROR
or NEED_MORE_DATA

Note that it would also be possible to integrate it with typefinding functions
and auto-instantiate this internal object, resulting in a generic
typefind-parser adapter.

Muxers would benefit from using those parsers instead of regular adapters and
not require parsed inputs anymore. Another good side-effect is that we could
wrap up those different 'parsing formats' in a single plugin and have parser
elements (maybe someone would still want them and it would be simple to
maintain), including the all-so-powerfull typefind-parser.

Hope I made my idea understandable and that it is a good one.

Note that I haven't thought of different requirements of parsing for the same
format by different muxers as I haven't seen this anywhere (not saying it
doesn't exist out there, just that I've never handled it in my still short time
around here)

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