[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