[Bug 726325] RFC: Add tunneling support.
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Mar 18 07:50:22 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=726325
GStreamer | gst-omx | git
Julien Isorce <julien.isorce> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #271863|none |needs-work
status| |
--- Comment #21 from Julien Isorce <julien.isorce at gmail.com> 2014-03-18 15:14:49 UTC ---
Review of attachment 271863:
--> (https://bugzilla.gnome.org/review?bug=726325&attachment=271863)
::: omx/gstomxvideoenc.c
@@ +1665,2 @@
gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL);
If tunneled, I think do not add GST_VIDEO_META_API_TYPE
@@ +1683,3 @@
+
+ gst_query_add_allocation_pool (query, pool, GST_VIDEO_INFO_SIZE (&info),
0,
+ return FALSE;
should unref the pool
@@ +1688,3 @@
return
GST_VIDEO_ENCODER_CLASS
(gst_omx_video_enc_parent_class)->propose_allocation (encoder, query);
I think in the best gst-omx tunneling support it would not need to have a
buffer pool at all between tunneled gstomx elements. (note that here the pool
has min=max=0 size I guess it is only here to share the peer port)
If you manage to get ride of those task/loop (see other reviews), then
gst_video_decoder_allocate_output_buffer (underlying call acquire on the buffer
pool) and gst_omx_port_acquire_buffer would not be called on corresponding
tunneled ports.
I think the proper way to share the peer omx port would be to define a new
allocation meta: GST_OMX_TUNNELING_META_API_TYPE and do the following in the
propose_allocation side:
s = gst_structure_new ("GstOMXTunnelingMeta", "peer", GST_OMX_PORT_TYPE,
self->in_port, NULL);
gst_query_add_allocation_meta (query, GST_OMX_TUNNELING_META_API_TYPE, s);
Then in decide_allocation checks the presence of
GST_OMX_TUNNELING_META_API_TYPE, if yes then retrieve the peer port.
--
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