[Bug 758960] New GstStream API and decodebin3/playbin3
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Feb 22 15:54:32 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=758960
Carlos Rafael Giani <dv at pseudoterminal.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dv at pseudoterminal.org
--- Comment #1 from Carlos Rafael Giani <dv at pseudoterminal.org> ---
I'd add https://bugzilla.gnome.org/show_bug.cgi?id=762125 as something for the
new uridecodebin3 .
Also, currently, GstURIHandler only accepts a URI string in its set_uri()
vfunc. As a consequence, the current uridecodebin and playbin elements only
have a "uri" property. However, sometimes, additional media specific data needs
to be passed to the source element. One example would be credentials.
Two methods of accomplishing this is:
1) serialize the additional data as a string and append it to the URI
2) pass on the data in the "source-setup" signal
Method #1 adds extra overhead by the serialization, which can be significant
depending on the size of the extra data. Also, some data sets simply cannot be
serialized.
Method #2 requires one source-setup callback to contain if-elseif-blocks to
cover all of the sources that need extra data, which doesn't scale well.
Therefore, a better option would be to add a GstStructure alongside the URI:
* GstURIHandler would get a new "set_uri_full()" vfunc, with an additional
"GstStructure *extra_data" argument.
* A new gst_element_make_from_uri_full() would be added, with an additional
"GstStructure *extra_data" argument right after the "uri" argument.
* uridecodebin3, urisourcebin, and playbin3 would get "extra-data" properties,
which would allow for passing a GstStructure pointer.
gst_element_make_from_uri_full() would call set_uri() if set_uri_full is NULL.
This maintains backwards compatibility with older elements that implement
GstURIHandler and set the set_uri vfunc. (Perhaps the src_uri() vfunc should
also be marked as deprecated.)
gst_element_make_from_uri() would internally just call
gst_element_make_from_uri_full() with extra_data set to NULL.
It is currently unclear if any of these functions/properties above would take
ownership over the GstStructure.
--
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