ScheduledFrameCompleted stopped calling after update!

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

Sergeylist

  • Posts: 7
  • Joined: Fri Sep 18, 2020 8:36 am
  • Real Name: Sergey Gridnev

ScheduledFrameCompleted stopped calling after update!

PostTue Oct 06, 2020 3:08 pm

Hello.

For some reason after updating Windows IDeckLinkVideoOutputCallback.ScheduledFrameCompleted stopped being called. Previously everything worked, there was only one error, and that was only the first time it was turned on: DeckLinkStatusReferenceSignalLocked was blocked at startup (true), but ScheduledFrameCompleted was not called, but after restarting everything worked. But now there are no calls at all. I don't even know what the problem might be, please tell me, maybe you need to install something?

I run DeckLinkOutput with the following parameters: DeckLinkOutput.StartScheduledPlayback (0, 100, 1.0), maybe need to set other parameters? In this case ScheduledFrameCompleted is not called, but with DeckLinkOutput.StopScheduledPlayback (0, out unused, 100) frames (calls) are thrown at once, for example, all 50 scheduled.

Regards
Sergey
Offline

Cameron Nichols

Blackmagic Design

  • Posts: 306
  • Joined: Mon Sep 04, 2017 4:05 am

Re: ScheduledFrameCompleted stopped calling after update!

PostTue Oct 06, 2020 11:17 pm

Hi Sergey,

This behaviour suggests that the schedule stream time is not being reached for frames to be played out. The starting stream time is set on your call to IDeckLinkOutput::StartScheduledPlayback with playbackStartTime parameter. From your call it appears you are starting from a stream time of 0.

Each video frame scheduled for playback also has a stream time as defined by displayTime parameter in call to IDeckLinkOutput::ScheduleVideoFrame.

Finally when scheduled playback is stopped the call to IDeckLinkOutput::StopScheduledPlayback has parameter stopPlaybackAtTime. All scheduled video frames with stream time later than the stop stream time will be flushed, so you will receive IDeckLinkVideoOutputCallback::ScheduledFrameCompleted callback with completion result bmdOutputFrameFlushed.

Does this match your observations? I'm not aware of any issue as result of windows update - which version are you running?

Regards
Cameron
Offline

Sergeylist

  • Posts: 7
  • Joined: Fri Sep 18, 2020 8:36 am
  • Real Name: Sergey Gridnev

Re: ScheduledFrameCompleted stopped calling after update!

PostWed Oct 07, 2020 9:18 am

Hello

Yes, this is consistent with my observations. Before starting, I create frames with the following parameters, let's say for 1080p 30 mode:

DeckLinkOutput.ScheduleVideoFrame(videoFrameBars, 0, 1000, 30000);
DeckLinkOutput.ScheduleVideoFrame(videoFrameBlack, 1000, 1000, 30000);
DeckLinkOutput.ScheduleVideoFrame(videoFrameBlack, 2000, 1000, 30000);
...
DeckLinkOutput.ScheduleVideoFrame(videoFrameBlack, 29000, 1000, 30000);

Then I call the method:
DeckLinkOutput.StartScheduledPlayback(0, 100, 1.0);

Maybe it's the timescale? I just don't really understand how it works yet :D

Oddly enough, everything worked again today. Just in case, I have: Windows 10 Home, x64, version 1909, build 18363.1110.
There is only one bug left, which was before, at the very first start, when you start Windows and turn on the program, the calls do not come (the same problem). But this is only the first time you turn on the program after starting Windows. But if you press stop and then start, then everything will work. In further work, this will not happen until you restart Windows. It is worth noting that this does not always happen, sometimes everything works perfectly even when you turn it on for the first time.
P.S.: Sorry, this is observed and probably always only if you turn off and turn on Windows, and not reboot. And apparently my problem that arose yesterday after the update would have been solved if I had turned off and on the computer, and not reboote :)

Regards
Sergey
Offline

gianpat

  • Posts: 7
  • Joined: Thu Jul 09, 2020 10:19 am
  • Real Name: giancarlo paterna

Re: ScheduledFrameCompleted stopped calling after update!

PostThu Oct 15, 2020 8:02 am

Hello,

I have exaclty the same problem. After a windows update (now it is version 10.0.18363.1139) IDeckLinkOutput.ScheduleVideoFrame stopped working. This happen every morning when I open the computer, so I need to uninstall and install again the driver, and then it works. I noticed also MediaExpress stopped working. It can load movie files but it can't play them.
This behavior started after an attempt to updated Windows to version 2004. After a long time waiting for the update I understood that I was needing to install again the nvidia and blackmagic drivers but it was impossible to uninstall the Blackmagic driver, so, necessarily, I had to roll down to the previous windows version and now I have this issue. I am going to trying to uninstall the Blackmagic driver, then to upgrade Windows to version 2004 again and see if it works.

Blackmagic people please do something.

Thanks
Giancarlo

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 4 guests