vf_overlay: rewrite request/push logic.
authorNicolas George <nicolas.george@normalesup.org>
Tue, 24 Apr 2012 13:45:08 +0000 (15:45 +0200)
committerNicolas George <nicolas.george@normalesup.org>
Thu, 31 May 2012 15:27:27 +0000 (17:27 +0200)
commit06bf6d3bc04979bd39ecdc7311d0daf8aee7e10f
treef0d43d52c9ac6b0ee65ed31fb697984a1c963db1
parent6d679c435990281e69a74075eeaba499a35f4a80
vf_overlay: rewrite request/push logic.

The old implementation, upon receiving a frame on the main
input, would request an overlay frame if necessary. This could
generate an infinite recursion, off-by-one frame mismatch and
other harmful effects, especially it the split filter is present
upgraph.

The new implementation uses the linear approach: it uses two
buffer queues for frames received out of turn and forwards
request_frame calls to the input where a frame is necessary.
libavfilter/vf_overlay.c