Closed glyshko closed 12 years ago
On 22/03/12 13:21, glyshko wrote:
Two weeks ago i succeses compiled bmdcapture with SDK 9.1, last commit decklink-ffmpeg -8a65e71 . At now when i try compile bmdcapture commit 94b44c4ff0 i see this error:
Hoffie forgot to make his improvements compatible with the newer sdk...
lu
Luca Barbato Gentoo/linux http://dev.gentoo.org/~lu_zero
I hope it's fixed and decklink-ffmpeg is compatible with SDK 9.1 and 9.2. Thanks
I'm terribly sorry that my changes broke the build for you. I've submitted a pull request with a fix for this issue -- the changed code builds with sdk-9.2 for me.
While the code should have been compatible with either old or new SDKs, the detection could not work properly because of changed #include ordering (which is now no longer a problem).
Please wait for Luca to merge the pull request or try using my patch/fork in the meantime.
BTW: Your compiler logs from above also mention problems with libav* -- are you sure you are using a recent enough libav? As far as I remember I did not even touch any libav-related code, so this (second) problem should be unrelated to my changes. Either your environment (regarding libav) changed or your last-working version is even older (before Luca started using newer libav API calls in 6bc9e43c) -- or I'm wrong. ;)
Best regards,
Christian
Hello lu-zero, hello hoffie.
I am not quite sure, maybe I am missing something - but this is the only place where I might find some help on this topic. I worked thru your Readme, installed the sdk (9.2), but bmdcapture fails to 'make' with following prompts:
g++ -o bmdcapture bmdcapture.cpp /home/ray/decklink/include/DeckLinkAPIDispatch.cpp -Wno-multichar -I /home/ray/decklink/include -fno-rtti -D__STDC_CONSTANT_MACROS -g -lm -ldl -lpthread pkg-config --libs libavformat
bmdcapture.cpp: In function ‘AVStream* add_audiostream(AVFormatContext, CodecID)’:
bmdcapture.cpp:208:38: error: ‘avformat_newstream’ was not declared in this scope
bmdcapture.cpp: In function ‘AVStream add_videostream(AVFormatContext, CodecID)’:
bmdcapture.cpp:252:38: error: ‘avformat_newstream’ was not declared in this scope
make: ** [bmdcapture] Error 1
I could not find any support-forum or knowledgebase. Might be a mistake to post this here. Does anyone of you know a solution for this problem?
Thanks a lot!
Well, this is really not the right place as it is a different issue and because it is probably not a bug but rather a problem in your build environment The problem is most likely related to your libav version (also see my previous comment) -- the current code requires libav-0.8 while your version seems to be older and lacks some of the API functions which are used (avformat_new_stream). Install libav-0.8 and you'll probably be fine. Also feel free to mail me directly if you need further help.
Two weeks ago i succeses compiled bmdcapture with SDK 9.1, last commit decklink-ffmpeg - 8a65e71 . At now when i try compile bmdcapture commit 94b44c4ff0 i see this error:
g++ -o bmdcapture bmdcapture.cpp /usr/include/DeckLinkAPIDispatch.cpp -Wno-multichar -I /usr/include -fno-rtti -D__STDC_CONSTANT_MACROS -g -lm -ldl -lpthread
pkg-config --libs libavformat
bmdcapture.cpp: In function ‘AVStream* add_audiostream(AVFormatContext, CodecID)’: bmdcapture.cpp:208:38: error: ‘avformat_new_stream’ was not declared in this scope bmdcapture.cpp:237:37: error: ‘avcodecopen2’ was not declared in this scope bmdcapture.cpp: In function ‘AVStream add_videostream(AVFormatContext, CodecID)’: bmdcapture.cpp:252:38: error: ‘avformat_new_stream’ was not declared in this scope bmdcapture.cpp:292:37: error: ‘avcodec_open2’ was not declared in this scope bmdcapture.cpp: In function ‘int main(int, char__)’: bmdcapture.cpp:716:22: error: ‘class IDeckLinkConfiguration’ has no member named ‘SetAudioInputFormat’ bmdcapture.cpp:719:22: error: ‘class IDeckLinkConfiguration’ has no member named ‘SetAudioInputFormat’ bmdcapture.cpp:733:22: error: ‘class IDeckLinkConfiguration’ has no member named ‘SetVideoInputFormat’ bmdcapture.cpp:736:22: error: ‘class IDeckLinkConfiguration’ has no member named ‘SetVideoInputFormat’ bmdcapture.cpp:739:22: error: ‘class IDeckLinkConfiguration’ has no member named ‘SetVideoInputFormat’ bmdcapture.cpp:742:22: error: ‘class IDeckLinkConfiguration’ has no member named ‘SetVideoInputFormat’ bmdcapture.cpp:811:46: error: ‘AVIO_FLAG_WRITE’ was not declared in this scope bmdcapture.cpp:811:61: error: ‘avio_open’ was not declared in this scope bmdcapture.cpp:836:35: error: ‘avformat_write_header’ was not declared in this scope bmdcapture.cpp:888:30: error: ‘avioclose’ was not declared in this scope make: ** [bmdcapture] Error 1