[Gstreamer-openmax] Repeat Mode of Totem Player
Clark, Rob
rob at ti.com
Sat Sep 11 09:36:41 PDT 2010
On Thu, Sep 9, 2010 at 6:06 PM, Felipe Contreras
<felipe.contreras at gmail.com> wrote:
>
> On Mon, Aug 30, 2010 at 2:25 PM, Mickey Kim <jihun.kim at samsung.com> wrote:
> > diff --git a/omx/gstomx_util.c b/omx/gstomx_util.c
> > index 283c32d..ce226e0 100644
> > --- a/omx/gstomx_util.c
> > +++ b/omx/gstomx_util.c
> > @@ -697,8 +697,17 @@ g_omx_port_flush (GOmxPort *port)
> > OMX_BUFFERHEADERTYPE *omx_buffer;
> > while ((omx_buffer = async_queue_pop_forced (port->queue)))
> > {
> > - omx_buffer->nFilledLen = 0;
> > - g_omx_port_release_buffer (port, omx_buffer);
> > + if (omx_buffer->nFlags & OMX_BUFFERFLAG_EOS)
> > + {
> > + omx_buffer->nFlags = 0;
> > + g_omx_port_push_buffer (port, omx_buffer);
> > + break;
> > + }
> > + else
> > + {
> > + omx_buffer->nFilledLen = 0;
> > + g_omx_port_release_buffer (port, omx_buffer);
> > + }
> > }
> > }
> > else
> > --
> > 1.7.0.4
>
> I don't think this is the right approach.
>
> Buffers marked with EOS should not be any different from other
> buffers; they should be returned with OMX_FillThisBuffer().
but then I think you could loose the EOS (if the IL client clears the
flags before again returning the buffer)..
I guess this is probably more of a theoretical hole, because it would
require an eos event followed by flush-start/flush-stop..
BR,
-R
More information about the Gstreamer-openmax
mailing list