[FFmpeg-devel] [PATCH] libavfilter/vf_overlay_cuda: Pass the main frame to the output if secondary frame is not available. now filter fails if secondary frame is not available due to e.g secondary source delay.

Alex Pokotilo support at wmspanel.com
Mon Aug 24 17:50:07 EEST 2020


> One observation not related to vf_overlay_cude fix if you don't mind:
> even with the fix you proposed if I don't send a single frame into
> fs->in[1](i.e secondary stream) I cannot get any output.
> This is because consume_from_fifos doesn't honor .before ==
> EXT_INFINITY and .state == STATE_BOF
>

let me correct myself: consume_from_fifos doesn't honor .before ==
EXT_NULL and .state == STATE_BOF

> and requires at least one frame for each input.
> I cannot say is it WAD or not - just my observation.
> When I read a description about EXT_INFINITY I guessed this flag
> should force processing other inputs ignoring this one

Again let me correct myself here too:  I think that if I set
fs->in[1].before== EXT_NULL (this is default behavior)
framesync should return main frames even if I don't send any frames
into fs->in[1].
but consume_from_fifos doesn't honor .before == EXT_NULL and .state ==
STATE_BOF and this is why it waits for fs->in[1] frames forever.
Sorry for bothering you with unrelated question


More information about the ffmpeg-devel mailing list