mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
linux-pipewire: Handle camera hotplug
Rebuild the camera list when a camera was added or removed.
This commit is contained in:
parent
968d7259bf
commit
bc02779529
@ -1051,6 +1051,7 @@ static void on_registry_global_cb(void *user_data, uint32_t id,
|
||||
for (size_t i = 0; i < connection->sources->len; i++) {
|
||||
struct camera_portal_source *camera_source =
|
||||
g_ptr_array_index(connection->sources, i);
|
||||
obs_source_update_properties(camera_source->source);
|
||||
if (strcmp(camera_source->device_id, device_id) == 0)
|
||||
stream_camera(camera_source);
|
||||
}
|
||||
@ -1070,6 +1071,13 @@ static void on_registry_global_remove_cb(void *user_data, uint32_t id)
|
||||
if (device->id != id)
|
||||
continue;
|
||||
g_hash_table_iter_remove(&iter);
|
||||
blog(LOG_INFO, "[pipewire-camera] Removed device %s",
|
||||
device_id);
|
||||
}
|
||||
for (size_t i = 0; i < connection->sources->len; i++) {
|
||||
struct camera_portal_source *camera_source =
|
||||
g_ptr_array_index(connection->sources, i);
|
||||
obs_source_update_properties(camera_source->source);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user