Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尘离序散
obs-studio
提交
000806fe
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,发现更多精彩内容 >>
提交
000806fe
编写于
10月 30, 2020
作者:
J
jp9000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rtmp-services: Add specifiable max cx/cy/fps in json
上级
e4c6b598
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
3 deletion
+31
-3
plugins/rtmp-services/rtmp-common.c
plugins/rtmp-services/rtmp-common.c
+31
-3
未找到文件。
plugins/rtmp-services/rtmp-common.c
浏览文件 @
000806fe
...
...
@@ -16,6 +16,9 @@ struct rtmp_common {
char
*
key
;
char
*
output
;
int
max_cx
;
int
max_cy
;
int
max_fps
;
bool
supports_additional_audio_track
;
};
...
...
@@ -31,6 +34,7 @@ static inline json_t *find_service(json_t *root, const char *name,
const
char
**
p_new_name
);
static
inline
bool
get_bool_val
(
json_t
*
service
,
const
char
*
key
);
static
inline
const
char
*
get_string_val
(
json_t
*
service
,
const
char
*
key
);
static
inline
int
get_int_val
(
json_t
*
service
,
const
char
*
key
);
extern
void
twitch_ingests_refresh
(
int
seconds
);
...
...
@@ -67,6 +71,17 @@ static void ensure_valid_url(struct rtmp_common *service, json_t *json,
}
}
static
void
update_recommendations
(
struct
rtmp_common
*
service
,
json_t
*
rec
)
{
const
char
*
out
=
get_string_val
(
rec
,
"output"
);
if
(
out
)
service
->
output
=
bstrdup
(
out
);
service
->
max_cx
=
get_int_val
(
rec
,
"max width"
);
service
->
max_cy
=
get_int_val
(
rec
,
"max height"
);
service
->
max_fps
=
get_int_val
(
rec
,
"max fps"
);
}
static
void
rtmp_common_update
(
void
*
data
,
obs_data_t
*
settings
)
{
struct
rtmp_common
*
service
=
data
;
...
...
@@ -81,6 +96,9 @@ static void rtmp_common_update(void *data, obs_data_t *settings)
service
->
key
=
bstrdup
(
obs_data_get_string
(
settings
,
"key"
));
service
->
supports_additional_audio_track
=
false
;
service
->
output
=
NULL
;
service
->
max_cx
=
0
;
service
->
max_cy
=
0
;
service
->
max_fps
=
0
;
json_t
*
root
=
open_services_file
();
if
(
root
)
{
...
...
@@ -95,9 +113,7 @@ static void rtmp_common_update(void *data, obs_data_t *settings)
if
(
serv
)
{
json_t
*
rec
=
json_object_get
(
serv
,
"recommended"
);
if
(
json_is_object
(
rec
))
{
const
char
*
out
=
get_string_val
(
rec
,
"output"
);
if
(
out
)
service
->
output
=
bstrdup
(
out
);
update_recommendations
(
service
,
rec
);
}
service
->
supports_additional_audio_track
=
get_bool_val
(
...
...
@@ -663,6 +679,17 @@ static bool supports_multitrack(void *data)
return
service
->
supports_additional_audio_track
;
}
static
void
rtmp_common_get_max_res_fps
(
void
*
data
,
int
*
cx
,
int
*
cy
,
int
*
fps
)
{
struct
rtmp_common
*
service
=
data
;
if
(
cx
)
*
cx
=
service
->
max_cx
;
if
(
cy
)
*
cy
=
service
->
max_cy
;
if
(
fps
)
*
fps
=
service
->
max_fps
;
}
struct
obs_service_info
rtmp_common_service
=
{
.
id
=
"rtmp_common"
,
.
get_name
=
rtmp_common_getname
,
...
...
@@ -674,4 +701,5 @@ struct obs_service_info rtmp_common_service = {
.
get_key
=
rtmp_common_key
,
.
apply_encoder_settings
=
rtmp_common_apply_settings
,
.
get_output_type
=
rtmp_common_get_output_type
,
.
get_max_res_fps
=
rtmp_common_get_max_res_fps
,
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录