Here is the other patch for decklink_common.cpp. It fix the error:
COM initialization failed [decklink @ 02e5b520] Could not create DeckLink iterator dummy: Immediate exit request Regards Jonathan
>From 203eba2fad14dd6d84552d6c22899792e80b53bb Mon Sep 17 00:00:00 2001 From: Jonathan Baecker <jonba...@gmail.com> Date: Tue, 2 Dec 2014 20:12:38 +0100 Subject: [PATCH 2/2] device list error in decklink_common Signed-off-by: Jonathan Baecker <jonba...@gmail.com> --- libavdevice/decklink_common.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/libavdevice/decklink_common.cpp b/libavdevice/decklink_common.cpp index 8eff910..8f7e32a 100644 --- a/libavdevice/decklink_common.cpp +++ b/libavdevice/decklink_common.cpp @@ -42,16 +42,20 @@ IDeckLinkIterator *CreateDeckLinkIteratorInstance(void) { IDeckLinkIterator *iter; - if (CoInitialize(NULL) != S_OK) { - av_log(NULL, AV_LOG_ERROR, "COM initialization failed.\n"); - return NULL; - } - - if (CoCreateInstance(CLSID_CDeckLinkIterator, NULL, CLSCTX_ALL, - IID_IDeckLinkIterator, (void**) &iter) != S_OK) { - av_log(NULL, AV_LOG_ERROR, "DeckLink drivers not installed.\n"); - return NULL; - } + HRESULT result; + /* Initialize COM on this thread */ + result = CoInitialize(NULL); + if (FAILED(result)) { + av_log(NULL, AV_LOG_ERROR, "COM initialization failed.\n"); + return NULL; + } + + /* Create an IDeckLinkIterator object to enumerate all DeckLink cards in the system */ + result = CoCreateInstance(CLSID_CDeckLinkIterator, NULL, CLSCTX_ALL, IID_IDeckLinkIterator, (void**)&iter); + if (FAILED(result)) { + av_log(NULL, AV_LOG_ERROR, "DeckLink drivers not installed.\n"); + return NULL; + } return iter; } -- 2.2.0
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel