Page 1 of 1

Decklink sdk starter code?

PostPosted: Wed Jun 27, 2018 5:08 am
by rakshithgb
I've spent almost a week reading the sdk manual and trying out the given samples. I'm running a windows 10 machine with visual studio 2017. I was able to successfully build and run all samples. However I'm still struggling to write my own code.

1) After including and linking all the files in the "include" folder provided by the sdk to my project, the build fails. I get the errors
Code: Select all
MIDL202 syntax error: expecting a type specification near "HRESULT"
MIDL202 cannot recover from earlier syntax error; aborting compilation.

My code file is empty, I just wanted to see if the solution builds just by including the files provided.
It would be helpful if someone can provide a step by step guide on how to start the project since the sdk manual doesn't say much.

2) It would also be helpful if someone writes a simple code just to capture a frame from a video stream. A lot of people in this forum are currently struggling to start from scratch.

Re: Decklink sdk starter code?

PostPosted: Thu Jun 28, 2018 5:26 am
by Cameron Nichols
Hi Rakshith,

You shouldn't need to link the Include directory.

To get the project to build, add Win/include/DeckLinkAPI.idl to your project (I normally add this to a filter named "DeckLink API" to keep seperate from my source).

When you build you should see MIDL invoked:
1>Processing ..\..\include\DeckLinkAPI.idl
1>DeckLinkAPI.idl

Are you able to share full build output?

Regards
Cameron

Re: Decklink sdk starter code?

PostPosted: Thu Jun 28, 2018 5:39 am
by rakshithgb
Hi Cameron,

Yes sorry that was a silly mistake. I had to change a few property settings and I was able to successfully build. I'm now able to include the API header and use its objects.

However I'm still struggling to write simple code to capture frame. Currently I'm using this as a reference:
https://stackoverflow.com/questions/414 ... o-opencv-m

My setup involves only a single camera so I did the necessary changes. But I copied most of his code in runInput() function to my main function. But he has the callback defined like this:
Code: Select all
g_deckLinkInput->SetCallback(this);


How would I have to define it since all the code is in main?

Re: Decklink sdk starter code?

PostPosted: Mon Jul 02, 2018 7:33 am
by Cameron Nichols
Hi Rakshith,

You cannot implement all the capture functionality in the main function. At minimum you need to create a class that subclasses IDeckLinkInputCallback base so that you have a callback function for the incoming frame.

Have a look at the Capture (Linux) or CapturePreview (Win/macOS) SDK samples to see example how to implement this class.

Regards
Cameron

Re: Decklink sdk starter code?

PostPosted: Tue Jul 10, 2018 5:21 pm
by rakshithgb
Thank you Cameron I've implemented the subclass and used the callback properly.

If anyone is struggling to write a simple capture code I suggest what Cameron suggested, refer the capture code in linux samples and if you wish to do image processing using OpenCV the stack overflow link in my previous reply is a good start.