Add CameraServer camera_feeds_updated signal, and document async behavior

This commit is contained in:
KOGA Mitsuhiro
2025-07-17 13:05:46 +09:00
parent 65eb664352
commit 2560ddbce0
6 changed files with 33 additions and 0 deletions

View File

@@ -49,6 +49,29 @@
<member name="monitoring_feeds" type="bool" setter="set_monitoring_feeds" getter="is_monitoring_feeds" default="false">
If [code]true[/code], the server is actively monitoring available camera feeds.
This has a performance cost, so only set it to [code]true[/code] when you're actively accessing the camera.
[b]Note:[/b] After setting it to [code]true[/code], you can receive updated camera feeds through the [signal camera_feeds_updated] signal.
[codeblocks]
[gdscript]
func _ready():
CameraServer.camera_feeds_updated.connect(_on_camera_feeds_updated)
CameraServer.monitoring_feeds = true
func _on_camera_feeds_updated():
var feeds = CameraServer.feeds()
[/gdscript]
[csharp]
public override void _Ready()
{
CameraServer.CameraFeedsUpdated += OnCameraFeedsUpdated;
CameraServer.MonitoringFeeds = true;
}
void OnCameraFeedsUpdated()
{
var feeds = CameraServer.Feeds();
}
[/csharp]
[/codeblocks]
</member>
</members>
<signals>
@@ -64,6 +87,11 @@
Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged).
</description>
</signal>
<signal name="camera_feeds_updated">
<description>
Emitted when camera feeds are updated.
</description>
</signal>
</signals>
<constants>
<constant name="FEED_RGBA_IMAGE" value="0" enum="FeedImage">