[Gstreamer-openmax] Repeat Mode of Totem Player
Felipe Contreras
felipe.contreras at gmail.com
Mon Sep 13 01:53:35 PDT 2010
On Sat, Sep 11, 2010 at 7:36 PM, Clark, Rob <rob at ti.com> wrote:
> 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)..
We are the IL client. We are not clearing the flags anywhere.
> I guess this is probably more of a theoretical hole, because it would
> require an eos event followed by flush-start/flush-stop..
Yes, but in my approach I'm clearing the flag only after pushing the
EOS. If this problem really exists, it would be with Mickey's
approach.
--
Felipe Contreras
More information about the Gstreamer-openmax
mailing list