Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尘离序散
obs-studio
提交
18030527
O
obs-studio
项目概览
尘离序散
/
obs-studio
与 Fork 源项目一致
从无法访问的项目Fork
通知
30
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
obs-studio
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
18030527
编写于
2月 09, 2020
作者:
J
Jim
提交者:
GitHub
2月 09, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2389 from DDRBoxman/decklinkversion
decklink: Log decklink API version on plugin load
上级
6a561f7a
8090ebff
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
48 addition
and
0 deletion
+48
-0
plugins/decklink/platform.hpp
plugins/decklink/platform.hpp
+4
-0
plugins/decklink/plugin-main.cpp
plugins/decklink/plugin-main.cpp
+35
-0
plugins/decklink/win/platform.cpp
plugins/decklink/win/platform.cpp
+9
-0
未找到文件。
plugins/decklink/platform.hpp
浏览文件 @
18030527
...
...
@@ -2,19 +2,23 @@
#if defined(_WIN32)
#include <DeckLinkAPI.h>
#include "win/decklink-sdk/DeckLinkAPIVersion.h"
typedef
BOOL
decklink_bool_t
;
typedef
BSTR
decklink_string_t
;
IDeckLinkDiscovery
*
CreateDeckLinkDiscoveryInstance
(
void
);
IDeckLinkIterator
*
CreateDeckLinkIteratorInstance
(
void
);
#define IUnknownUUID IID_IUnknown
typedef
REFIID
CFUUIDBytes
;
#define CFUUIDGetUUIDBytes(x) x
#elif defined(__APPLE__)
#include "mac/decklink-sdk/DeckLinkAPI.h"
#include "mac/decklink-sdk/DeckLinkAPIVersion.h"
#include <CoreFoundation/CoreFoundation.h>
typedef
bool
decklink_bool_t
;
typedef
CFStringRef
decklink_string_t
;
#elif defined(__linux__)
#include "linux/decklink-sdk/DeckLinkAPI.h"
#include "linux/decklink-sdk/DeckLinkAPIVersion.h"
typedef
bool
decklink_bool_t
;
typedef
const
char
*
decklink_string_t
;
#endif
...
...
plugins/decklink/plugin-main.cpp
浏览文件 @
18030527
...
...
@@ -14,8 +14,43 @@ struct obs_source_info decklink_source_info;
extern
struct
obs_output_info
create_decklink_output_info
();
struct
obs_output_info
decklink_output_info
;
void
log_sdk_version
()
{
IDeckLinkIterator
*
deckLinkIterator
;
IDeckLinkAPIInformation
*
deckLinkAPIInformation
;
HRESULT
result
;
deckLinkIterator
=
CreateDeckLinkIteratorInstance
();
if
(
deckLinkIterator
==
NULL
)
{
blog
(
LOG_WARNING
,
"A DeckLink iterator could not be created. The DeckLink drivers may not be installed"
);
return
;
}
result
=
deckLinkIterator
->
QueryInterface
(
IID_IDeckLinkAPIInformation
,
(
void
**
)
&
deckLinkAPIInformation
);
if
(
result
==
S_OK
)
{
decklink_string_t
deckLinkVersion
;
deckLinkAPIInformation
->
GetString
(
BMDDeckLinkAPIVersion
,
&
deckLinkVersion
);
blog
(
LOG_INFO
,
"Decklink API Compiled version %s"
,
BLACKMAGIC_DECKLINK_API_VERSION_STRING
);
std
::
string
versionString
;
DeckLinkStringToStdString
(
deckLinkVersion
,
versionString
);
blog
(
LOG_INFO
,
"Decklink API Installed version %s"
,
versionString
.
c_str
());
deckLinkAPIInformation
->
Release
();
}
}
bool
obs_module_load
(
void
)
{
log_sdk_version
();
deviceEnum
=
new
DeckLinkDeviceDiscovery
();
if
(
!
deviceEnum
->
Init
())
return
true
;
...
...
plugins/decklink/win/platform.cpp
浏览文件 @
18030527
...
...
@@ -11,6 +11,15 @@ IDeckLinkDiscovery *CreateDeckLinkDiscoveryInstance(void)
return
result
==
S_OK
?
instance
:
nullptr
;
}
IDeckLinkIterator
*
CreateDeckLinkIteratorInstance
(
void
)
{
IDeckLinkIterator
*
iterator
;
const
HRESULT
result
=
CoCreateInstance
(
CLSID_CDeckLinkIterator
,
nullptr
,
CLSCTX_ALL
,
IID_IDeckLinkIterator
,
(
void
**
)
&
iterator
);
return
result
==
S_OK
?
iterator
:
nullptr
;
}
bool
DeckLinkStringToStdString
(
decklink_string_t
input
,
std
::
string
&
output
)
{
if
(
input
==
nullptr
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录