Opened 7 years ago
Closed 7 years ago
#6847 closed defect (fixed)
Could not create DeckLink iterator, Generic error in an external library
Reported by: | Syl20 | Owned by: | |
---|---|---|---|
Priority: | important | Component: | undetermined |
Version: | git-master | Keywords: | decklink regression |
Cc: | Marton Balint | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Hi all,
I have successfully compiled ffmpeg with Decklink SDK 10.9.5 and up to date ffmpeg repo with --enable-decklink option.
When I run :
ffmpeg -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' out.ts
I receive this error :
ffmpeg version N-89130-g218ce1f623 Copyright (c) 2000-2017 the FFmpeg developers built with Apple LLVM version 8.1.0 (clang-802.0.42) configuration: --prefix=/usr/local --pkg-config-flags=--static --disable-shared --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libopus --enable-libxvid --enable-libfreetype --enable-decklink --extra-cflags=-I/usr/local/include/ --extra-ldflags=-L/usr/local/lib/ libavutil 56. 0.100 / 56. 0.100 libavcodec 58. 3.103 / 58. 3.103 libavformat 58. 2.102 / 58. 2.102 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 2.100 / 7. 2.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 [decklink @ 0x7f9d43800000] Could not create DeckLink iterator UltraStudio Mini Recorder: Generic error in an external library
Notes :
It was working in june 2017.
Looks like #4144
Attached :
Full output of configure and make.
Thank you for your help.
--
Sylvain
Attachments (1)
Change History (10)
by , 7 years ago
Attachment: | ffmpeg_compilation.log added |
---|
comment:1 by , 7 years ago
Component: | ffmpeg → undetermined |
---|---|
Keywords: | decklink regression added |
Priority: | normal → important |
Replying to Syl20:
It was working in june 2017.
Please run git bisect to find the change introducing the regression.
follow-up: 4 comment:2 by , 7 years ago
I cannot even re-compile ffmpeg N-86620-g3594788b71 which was working before..
I think I have other errors somewhere :/
comment:3 by , 7 years ago
I ran otool -L on both bin (working and broken). Do you think those difference of library version can create those kind of bug ?
working ffmpeg: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1561.10.101) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1443.14.0) /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0) /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0) /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/VideoDecodeAcceleration.framework/Versions/A/VideoDecodeAcceleration (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1445.12.0) /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 492.0.0) /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 58286.20.16) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11) /usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5) /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1125.3.4) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 822.9.0) /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage (compatibility version 1.0.1, current version 5.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
broken ffmpeg: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1504.83.101) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.91.0) /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0) /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0) /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/VideoDecodeAcceleration.framework/Versions/A/VideoDecodeAcceleration (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.8.0) /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 492.0.0) /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57740.60.18) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2) /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1070.22.0) /usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 775.19.0) /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage (compatibility version 1.0.1, current version 5.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
Thanks a lot for your support.
comment:4 by , 7 years ago
Replying to Syl20:
I cannot even re-compile ffmpeg N-86620-g3594788b71
Please test ./configure --enable-nonfree --enable-decklink
comment:5 by , 7 years ago
./configure --enable-nonfree --enable-decklink --extra-cflags=-I/Users/Sylvain/Scripts/Blackmagic_SDK_10.9.3/Mac/include/ --extra-ldflags=-L/Users/Sylvain/Scripts/Blackmagic_SDK_10.9.3/Mac/include/
return this :
In file included from libavdevice/decklink_common.cpp:32: /Users/Sylvain/Scripts/Blackmagic_SDK_10.9.3/Mac/include/DeckLinkAPIDispatch.cpp:56:6: error: no previous prototype for function 'InitDeckLinkAPI' [-Werror,-Wmissing-prototypes] void InitDeckLinkAPI (void) ^ /Users/Sylvain/Scripts/Blackmagic_SDK_10.9.3/Mac/include/DeckLinkAPIDispatch.cpp:77:7: error: no previous prototype for function 'IsDeckLinkAPIPresent' [-Werror,-Wmissing-prototypes] bool IsDeckLinkAPIPresent (void) ^ /Users/Sylvain/Scripts/Blackmagic_SDK_10.9.3/Mac/include/DeckLinkAPIDispatch.cpp:157:6: error: no previous prototype for function 'InitBMDStreamingAPI' [-Werror,-Wmissing-prototypes] void InitBMDStreamingAPI(void) ^ 3 errors generated. make: *** [libavdevice/decklink_common.o] Error 1
I've read somwhere that I should put static at the beginning of line 56, 77 and 157. It was working before but now I cannot reproduce the compilation. Maybe it's not a good way to resolve this.
Thanks.
comment:6 by , 7 years ago
Cc: | added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
I think the compilation with clang is fixed in latest git master. Your initially reported error usually happens if you are compiling against a newer SDK but using an older driver. Reopen this if you can still reproduce any of the problems.
comment:7 by , 7 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
With actual git master I still have this error ('Could not create iterator') after compilation.
I don't understand what do you mean by "compiling against a newer SDK but using an older driver"
Thanks.
comment:8 by , 7 years ago
This error usually means that your decklink drivers are too old. If the SDK which was used to build ffmpeg was newer than the drivers you currently have on your system, then it won't work.
So please update your DeckLink drivers, and report back.
comment:9 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Ooooh, I didn't know that decklink drivers needs to be update also.. It works now.
Thank you so much !
full output for configure and make scripts