[FFmpeg-devel] [PATCH] libavfilter-soc: Make overlay handle still images
Fri May 8 12:28:47 CEST 2009
Martin Storsj? wrote:
> On Fri, 8 May 2009, Vitor Sessak wrote:
>>> Actually, there's a use for them. Imagine that there's a frame available in
>>> input 0, but none at all in input 1.
>> Is there any way the if (!over->pics || !over->pics) can be
>> triggered other than in the first time request_frame() is called? If no,
>> "!over->pics" and "!over->pics" are always true.
>> Note that if one of the inputs each EOF, it will stay at EOF. Note also
>> that the poll_frame mechanism guarantees that there is either an
>> available frame or EOF for each input.
> I guess that's true in principle, but what if request_frame() still is
> called (for some unknown reason, haven't checked through the rest of the
> framework to see if there's something stopping this from happening) after
> the first call which returned EOF?
Indeed, and indeed there is at least one filter that call
request_frame() repeatedly even after EOF: overlay. I am not sure if the
API should forbid calling request_frame() after EOF or not (comments
welcome). Another possibility would be to make avfilter_request_frame()
handle that by not calling filter->request_frame() anymore after the
first time it returns EOF. Anyway, this discussion goes beyond your
patch and I will apply it in a couple of days if nobody else comments on it.
More information about the ffmpeg-devel