[FFmpeg-devel] [PATCH] avdevice/decklink_dec: fix no warning message if no input signal detected

Marton Balint cus at passwd.hu
Sat Jun 20 21:39:00 EEST 2020



On Sat, 20 Jun 2020, lance.lmwang at gmail.com wrote:

> On Sat, Jun 20, 2020 at 01:31:43AM +0200, Marton Balint wrote:
>> 
>> 
>> On Sat, 20 Jun 2020, lance.lmwang at gmail.com wrote:
>> 
>> > On Fri, Jun 19, 2020 at 10:46:33PM +0200, Marton Balint wrote:
>> > > 
>> > > 
>> > > On Fri, 19 Jun 2020, Limin Wang wrote:
>> > > 
>> > > > On Thu, Jun 18, 2020 at 07:37:50PM +0200, Marton Balint wrote:
>> > > > > > > > > On Thu, 18 Jun 2020, lance.lmwang at gmail.com wrote:
>> > > > > > > >From: Limin Wang <lance.lmwang at gmail.com>
>> > > > > >
>> > > > > >Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
>> > > > > >---
>> > > > > >libavdevice/decklink_dec.cpp | 2 +-
>> > > > > >1 file changed, 1 insertion(+), 1 deletion(-)
>> > > > > >
>> > > > > >diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
>> > > > > >index 82106aa..90569dc 100644
>> > > > > >--- a/libavdevice/decklink_dec.cpp
>> > > > > >+++ b/libavdevice/decklink_dec.cpp
>> > > > > >@@ -751,7 +751,7 @@ HRESULT decklink_input_callback::VideoInputFrameArrived(
>> > > > > >                }
>> > > > > >            }
>> > > > > >
>> > > > > >-            if (!no_video) {
>> > > > > >+            if (no_video) {
>> > > > > >                av_log(avctx, AV_LOG_WARNING, "Frame received (#%lu) - No input signal detected "
>> > > > > >                        "- Frames dropped %u\n", ctx->frameCount, ++ctx->dropped);
>> > > > > >            }
>> > > > > > > No, this is good as is, the !no_video condition ensures that
>> > > it is
>> > > > > only logged once when the input actually disappears, and not for
>> > > > > every consecutive frame with no input.
>> > > > > It's good point, but if no input signal after run, no any
>> > > warning message.
>> > > 
>> > > I don't understand what you are saying here.
>> > > 
>> > > > I don't think it's helpful to check the signal status,
>> > > 
>> > > What do you mean?
>> > 
>> > If no_video is status machine of signal, then the first status is 1(no signal).
>> > So I think it's wrong to initialized to 0. So if the input signal is
>> > lost, no any warning message then. I'll submit a patch for your review.
>> 
>> initially no_video = 0, so we assume there is valid signal. When there is no
>> signal, we log the warning if no_video==0, and we set no_video to 1. So we
>> do give warning message when the signal is lost.
>
> If you don't use autodetect for the format, you'll get signal lost after runn, no
> warning message for the signal lost. I'm not sure it's expected behavior.

Did you actually test this? Because for me that is simply not the case.

Regards,
Marton


More information about the ffmpeg-devel mailing list