[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.
Alexander Strasser
eclipse7 at gmx.net
Fri Aug 21 13:55:05 EEST 2020
On 2020-08-21 20:46 +1000, Alex Pokotilo wrote:
> On Fri, Aug 21, 2020 at 7:54 PM Nicolas George <george at nsup.org> wrote:
> >
> > Alex Pokotilo (12020-08-21):
> > > From b3739e33fa04a9292dc6584bd2f31460aa53d478 Mon Sep 17 00:00:00 2001
> > > From: Alex Pokotilo <support at wmspanel.com>
> > > Date: Fri, 21 Aug 2020 09:14:37 +0000
> > > Subject: [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.
> >
> > Your Git commit message is badly formatted. The format is:
> >
> > context: short summary on one line
> >
> > After an empty line, details if necessary, on several lines and
> > wrapped at a reasonable line length.
> >
>
> I'm sorry. I'm a newbie. Am I right I just need to commit in following format:
>
> first line: short description......
> LF
> more details here
Yes, that should do the trick.
Please don't forget to mention the "Why" part in the commit message
body (the "more details here" part), if you re-do the patch.
At the moment it would probably best to first wait for feed back on
your explanation below.
Alexander
> Should I send a new patch as a separate email or reply to this one ?
> Sorry again.
> > The fix may be correct, but your analysis of the problem does not prove
> > it. Unless there is a serious bug in framesync, it will not call
> > overlay_cuda_blend() without a secondary frame "due to e.g secondary
> > source delay.", it will only do so if the stream has not yet begun or
> > has ended.
> >
> > Please give more details on the exact circumstances you observe the
> > issue.
>
> I create a filter graph with vf_cuda_overlay in my application. I
> start sending frames into a "main" stream link using
> av_buffersrc_write_frame.
> I start sending frames into a "secondary" stream too almost
> immediately. I have one output sink in my filter graph.
> After each write I call av_buffersink_get_frame and get AVERROR_BUG
> from vf_overlay_cuda for some time initially but after several frames
> it starts returning mixed frame.
> I've checked vf_blend and other framesync filters. They do the same as
> I did in the fix.
>
> Maybe the problem In my application I cannot guarantee that both
> streams have the same timeline.
> Could you please point me to the place where framesync checks second
> stream availability before it calls it's filter(overlay_cuda_blend in
> my case).
> This topic is very complex to me now so any help from your side can
> really help me.
More information about the ffmpeg-devel
mailing list