Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尘离序散
obs-studio
提交
e30255fb
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,发现更多精彩内容 >>
提交
e30255fb
编写于
7月 05, 2015
作者:
J
jp9000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
win-dshow: Log device info on update
Logs all device settings on update
上级
a9c76989
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
58 addition
and
3 deletion
+58
-3
plugins/win-dshow/win-dshow.cpp
plugins/win-dshow/win-dshow.cpp
+58
-3
未找到文件。
plugins/win-dshow/win-dshow.cpp
浏览文件 @
e30255fb
...
...
@@ -738,6 +738,8 @@ inline void DShowInput::SetupBuffering(obs_data_t *settings)
obs_source_set_flags
(
source
,
flags
);
}
static
DStr
GetVideoFormatName
(
VideoFormat
format
);
bool
DShowInput
::
UpdateVideoConfig
(
obs_data_t
*
settings
)
{
string
video_device_id
=
obs_data_get_string
(
settings
,
VIDEO_DEVICE_ID
);
...
...
@@ -785,8 +787,6 @@ bool DShowInput::UpdateVideoConfig(obs_data_t *settings)
return
false
;
interval
=
best_interval
;
blog
(
LOG_INFO
,
"%s: Using interval %lld"
,
obs_source_get_name
(
source
),
interval
);
}
videoConfig
.
name
=
id
.
name
.
c_str
();
...
...
@@ -816,6 +816,33 @@ bool DShowInput::UpdateVideoConfig(obs_data_t *settings)
return
false
;
}
DStr
formatName
=
GetVideoFormatName
(
videoConfig
.
internalFormat
);
double
fps
=
0.0
;
if
(
videoConfig
.
frameInterval
)
fps
=
10000000.0
/
double
(
videoConfig
.
frameInterval
);
BPtr
<
char
>
name_utf8
;
BPtr
<
char
>
path_utf8
;
os_wcs_to_utf8_ptr
(
videoConfig
.
name
.
c_str
(),
videoConfig
.
name
.
size
(),
&
name_utf8
);
os_wcs_to_utf8_ptr
(
videoConfig
.
path
.
c_str
(),
videoConfig
.
path
.
size
(),
&
path_utf8
);
blog
(
LOG_INFO
,
"---------------------------------"
);
blog
(
LOG_INFO
,
"[DShow Device: '%s'] settings updated:
\n
"
"
\t
video device: %s
\n
"
"
\t
video path: %s
\n
"
"
\t
resolution: %dx%d
\n
"
"
\t
fps: %0.2f (interval: %lld)
\n
"
"
\t
format: %s"
,
obs_source_get_name
(
source
),
name_utf8
,
path_utf8
,
videoConfig
.
cx
,
videoConfig
.
cy
,
fps
,
videoConfig
.
frameInterval
,
formatName
->
array
);
SetupBuffering
(
settings
);
return
true
;
...
...
@@ -848,7 +875,35 @@ bool DShowInput::UpdateAudioConfig(obs_data_t *settings)
audioConfig
.
mode
=
(
AudioMode
)
obs_data_get_int
(
settings
,
AUDIO_OUTPUT_MODE
);
return
device
.
SetAudioConfig
(
&
audioConfig
);
bool
success
=
device
.
SetAudioConfig
(
&
audioConfig
);
if
(
!
success
)
return
false
;
BPtr
<
char
>
name_utf8
;
os_wcs_to_utf8_ptr
(
audioConfig
.
name
.
c_str
(),
audioConfig
.
name
.
size
(),
&
name_utf8
);
blog
(
LOG_INFO
,
"
\t
using video device audio: %s"
,
audioConfig
.
useVideoDevice
?
"yes"
:
"no"
);
if
(
!
audioConfig
.
useVideoDevice
)
blog
(
LOG_INFO
,
"
\t
audio device: %s"
,
name_utf8
);
const
char
*
mode
=
""
;
switch
(
audioConfig
.
mode
)
{
case
AudioMode
::
Capture
:
mode
=
"Capture"
;
break
;
case
AudioMode
::
DirectSound
:
mode
=
"DirectSound"
;
break
;
case
AudioMode
::
WaveOut
:
mode
=
"WaveOut"
;
break
;
}
blog
(
LOG_INFO
,
"
\t
sample rate: %d
\n
"
"
\t
channels: %d
\n
"
"
\t
audio type: %s"
,
audioConfig
.
sampleRate
,
audioConfig
.
channels
,
mode
);
return
true
;
}
void
DShowInput
::
SetActive
(
bool
active_
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录