|
From: Felipe C. <fel...@gm...> - 2009-11-14 12:52:25
|
On Wed, Nov 4, 2009 at 4:27 AM, Rob Clark <ro...@ti...> wrote: > Not properly flushing output port buffers was causing a problem with seek. We would get a buffer from before the flush-start/flush-stop/newsegment sequence, which had an old timestamp, throwing off the AV sync logic in gst base sink classes. This would only happen if the omx component returns an output buffer *after* the gst flush has finished, which means the flush of the input port has finished too, which means there are no input buffers in the component queue. How can the component still generate output buffers if there's no input. I think I added that logic because bellagio was misbehaving (probably a race condition), but I realized that we actually wanted this in the general case, because we are not going to do anything with the flushed output buffers, just send them back to the component. In any case, if you want to do this properly, then you need to remove the check for input vs output, and just send OMX_CommandFlush all the time, and not touch the async queue. -- Felipe Contreras |