2014-12-03 15:46 GMT+01:00 Ramiro Polla <ramiro.po...@gmail.com>: > > On 03.12.2014 12:06, Jon bae wrote: > >> Thanks Ramiro for the correction! >> Here is the new patch. (Is it better to post directly the patch, or is ok >> as a attachment?) >> > > Attachment is better. But please avoid top-posting in this mailing-list. > > > 2014-12-02 22:19 GMT+01:00 Ramiro Polla <ramiro.po...@gmail.com>: >> >>> On 02.12.2014 20:30, Jon bae wrote: >>> >>>> 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 >>>> >>>> >>> 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 >>>> >>>> >>> This code is Copyright (c) Blackmagic Design. Try just changing the check >>> for CoInitialize(NULL) from "!= S_OK" to "< 0". >>> >> > > From 3c3d5dda659fe30c68a81b0a711cb09bcb5be443 Mon Sep 17 00:00:00 2001 >> From: Jonathan Baecker <jonba...@gmail.com> >> Date: Wed, 3 Dec 2014 12:03:12 +0100 >> Subject: [PATCH] fix COM initialization failed >> >> Signed-off-by: Jonathan Baecker <jonba...@gmail.com> >> --- >> libavdevice/decklink_common.cpp | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/libavdevice/decklink_common.cpp >> b/libavdevice/decklink_common.cpp >> index 6899bd2..4252552 100644 >> --- a/libavdevice/decklink_common.cpp >> +++ b/libavdevice/decklink_common.cpp >> @@ -42,13 +42,13 @@ IDeckLinkIterator *CreateDeckLinkIteratorInstance >> (void) >> { >> IDeckLinkIterator *iter; >> >> - if (CoInitialize(NULL) != S_OK) { >> + if (CoInitialize(NULL) < 0) { >> 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) >> { >> + IID_IDeckLinkIterator, (void**) &iter) < 0) { >> av_log(NULL, AV_LOG_ERROR, "DeckLink drivers not installed.\n"); >> return NULL; >> } >> > > The CoCreateInstance check doesn't need to be changed.
Ok finally... Here now only the first line changed. Sorry for the mess, I 'm not the right person for that.
0001-fix-COM-initialization-failed.patch
Description: Binary data
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel