[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