Skip to content

Commit d23271e

Browse files
committed
Version 2.4.1
Support for OBS 32
1 parent 1d774e7 commit d23271e

File tree

5 files changed

+50
-39
lines changed

5 files changed

+50
-39
lines changed

data/locale/zh-CN.ini

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
DeactivateWhenNotShowing="当不显示时禁用"
2-
UseWiFi="使用WiFi IP"
3-
Device="设备"
4-
Refresh="刷新设备列表"
5-
Resolution="分辨率"
6-
VideoFormat="视频格式"
7-
Activate="激活"
8-
Deactivate="停用"
9-
EnableAudio="启用音频"
10-
SyncAV="同步音视频"
11-
UHDUnlocked="已解锁更多视频分辨率。\n保存并重新打开属性窗口以获取更新后的列表。"
12-
MJPEGLimit="视频格式 (MJPG) 限制为 1920x1080。\n请选择其他选项。"
13-
BadResolution="分辨率值无效。"
14-
AllowHWAccel="允许硬件加速 AVC/H.264"
15-
DeviceDiscoveryHint="请确保 DroidCam 应用已打开,并且设备可被检测到。\n更多使用详情请访问:droidcam.app/help"
16-
AddADevice="添加一个设备"
17-
AddDevice="添加所选设备"
18-
AlreadyExist="%1 已存在。\n是否要删除并重新添加此源?"
19-
ErrorRemove="删除旧源时出错!\n请重启 DroidCam 客户端。"
20-
NoName="设备名称为空"
21-
NoWifiIP="WiFi IP 地址为空"
22-
EnableAudioHint="勾选此项以启用从手机捕获音频。\n音频质量和延迟可能有所不同。\n建议仅使用 DroidCam 进行视频传输。"
1+
DeactivateWhenNotShowing="当不显示时禁用"
2+
UseWiFi="使用WiFi IP"
3+
Device="设备"
4+
Refresh="刷新设备列表"
5+
Resolution="分辨率"
6+
VideoFormat="视频格式"
7+
Activate="激活"
8+
Deactivate="停用"
9+
EnableAudio="启用音频"
10+
SyncAV="同步音视频"
11+
UHDUnlocked="已解锁更多视频分辨率。\n保存并重新打开属性窗口以获取更新后的列表。"
12+
MJPEGLimit="视频格式 (MJPG) 限制为 1920x1080。\n请选择其他选项。"
13+
BadResolution="分辨率值无效。"
14+
AllowHWAccel="允许硬件加速 AVC/H.264"
15+
DeviceDiscoveryHint="请确保 DroidCam 应用已打开,并且设备可被检测到。\n更多使用详情请访问:droidcam.app/help"
16+
AddADevice="添加一个设备"
17+
AddDevice="添加所选设备"
18+
AlreadyExist="%1 已存在。\n是否要删除并重新添加此源?"
19+
ErrorRemove="删除旧源时出错!\n请重启 DroidCam 客户端。"
20+
NoName="设备名称为空"
21+
NoWifiIP="WiFi IP 地址为空"
22+
EnableAudioHint="勾选此项以启用从手机捕获音频。\n音频质量和延迟可能有所不同。\n建议仅使用 DroidCam 进行视频传输。"

src/droidcam.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
1 VERSIONINFO
2-
FILEVERSION 2,4,0,0
2+
FILEVERSION 2,4,1,0
33
BEGIN
44
BLOCK "StringFileInfo"
55
BEGIN

src/plugin.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,14 @@ static inline void swap_bindIP() {
9292
#endif
9393

9494
OBS_DECLARE_MODULE()
95+
OBS_MODULE_AUTHOR("Dev47Apps")
9596
OBS_MODULE_USE_DEFAULT_LOCALE("droidcam-obs", "en-US")
9697
MODULE_EXPORT const char *obs_module_description(void) {
97-
return "Android and iOS camera source";
98+
return "Use your phone as a camera source with the DroidCam app.";
99+
}
100+
101+
MODULE_EXPORT const char *obs_module_name(void) {
102+
return "DroidCam";
98103
}
99104

100105
bool obs_module_load(void) {

src/plugin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#pragma once
33
#include <obs-module.h>
44

5-
#define PLUGIN_VERSION_STR "240"
5+
#define PLUGIN_VERSION_STR "241"
66

77
#define xlog(log_level, format, ...) \
88
blog(log_level, "[DroidCamOBS] " format, ##__VA_ARGS__)

src/source.cc

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -984,20 +984,26 @@ void source_show(void *data) {
984984
#if defined(ENABLE_GUI) && LIBOBS_API_MAJOR_VER > 27
985985
obs_source_t *scene = obs_frontend_get_current_scene();
986986
if (scene) {
987-
obs_sceneitem_t *item = obs_scene_sceneitem_from_source(obs_scene_from_source(scene), plugin->source);
988-
if (item) {
989-
vec2 pos;
990-
vec2 scale;
991-
struct obs_sceneitem_crop crop;
992-
obs_sceneitem_get_pos(item, &pos);
993-
obs_sceneitem_get_crop(item, &crop);
994-
obs_sceneitem_get_scale(item, &scale);
995-
ilog("pos:%.0f,%.0f scale:%.1f,%.1f rot:%.1f crop:%d,%d; %d,%d",
996-
pos.x, pos.y, scale.x, scale.y,
997-
obs_sceneitem_get_rot(item),
998-
crop.left, crop.top, crop.right, crop.bottom);
999-
obs_sceneitem_release(item);
1000-
}
987+
obs_scene_enum_items(obs_scene_from_source(scene),
988+
[](obs_scene_t*, obs_sceneitem_t *item, void *data) {
989+
obs_source_t* source = (obs_source_t*) data;
990+
if (obs_sceneitem_get_source(item) == source) {
991+
vec2 pos;
992+
vec2 scale;
993+
struct obs_sceneitem_crop crop;
994+
obs_sceneitem_get_pos(item, &pos);
995+
obs_sceneitem_get_crop(item, &crop);
996+
obs_sceneitem_get_scale(item, &scale);
997+
ilog("pos:%.0f,%.0f scale:%.1f,%.1f rot:%.1f crop:%d,%d; %d,%d",
998+
pos.x, pos.y, scale.x, scale.y,
999+
obs_sceneitem_get_rot(item),
1000+
crop.left, crop.top, crop.right, crop.bottom);
1001+
1002+
return false; // stop enumeration
1003+
}
1004+
return true;
1005+
}, plugin->source);
1006+
10011007
obs_source_release(scene);
10021008
}
10031009
#endif

0 commit comments

Comments
 (0)