[Bug 726107] Drain pipeline to support adaptive streaming scenarios and partially fix gpu resource leaks

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Mar 25 10:03:56 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=726107
  GStreamer | gst-omx | git

--- Comment #9 from Josep Torra Valles <n770galaxy at gmail.com> 2014-03-25 17:29:25 UTC ---
(In reply to comment #6)
> I'm more inclined to working out the already started solution. How good is the
> transition with the drain query right now ? Do you see a gap, or a small image
> delay ?

Few (2-3) frames are dropped because they don't arrive in time, but I believe
that a similar behaviour will happen when the queue will copy the buffers, as
it might consume some cpu time, in reaction to the RECLAIM event. Although that
the behaviour of loosing some frames is expected for adaptive scenarios like MS
smooth streaming (I believe that I've read some references to this fact in the
spec).

(In reply to comment #7)
> Review of attachment 272863 [details]:
> 
> ::: omx/gstomxvideodec.c
> @@ +1447,3 @@
>      if (self->draining) {
> +#if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_EGL)
> +      if (self->eglimage) {
> 
> Why is this all RPI specific ? Don't we have buffer pools in general with OMX ?
Well this is an initial patch, some more changes must come for
ximagesink/eglglessink to handle the drain query and copy the buffer for
reexpose.

> 
> @@ +1449,3 @@
> +      if (self->eglimage) {
> +        gst_pad_peer_query (GST_VIDEO_DECODER_SRC_PAD (self),
> +            gst_query_new_drain ());
> 
> That is a bit weird, why would you want to reclaim you buffers before you have
> drained your decoder ?
Here we already drained the decoder. In omx video dec the decoder is drained by
inserting an EOS tag on the input and waiting for it the the output port and
keeping a boolean at element level to distinguish between drains and real EOS.

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