diff --git a/doc/meson.build b/doc/meson.build
index 5f2e28fb8..d2380cafd 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -146,6 +146,9 @@ endforeach
foreach h : module_sources
inputs += meson.project_source_root() / 'src' / 'modules' / h
endforeach
+foreach h : module_spa_sources
+ inputs += meson.project_source_root() / 'src' / 'modules' / 'spa' / h
+endforeach
foreach h : pipewire_module_protocol_pulse_sources
inputs += meson.project_source_root() / 'src' / 'modules' / h
endforeach
@@ -210,6 +213,12 @@ foreach m : module_sources
module_manpage_list += f'\\ref page_@pagepart@ "libpipewire-@name@(7)"'
manpages += [[f'libpipewire-@name@.7', f'page_@pagepart@']]
endforeach
+foreach m : module_spa_sources
+ name = fs.stem(m)
+ pagepart = name.replace('-', '_')
+ module_manpage_list += f'\\ref page_@pagepart@ "libpipewire-@name@(7)"'
+ manpages += [[f'libpipewire-@name@.7', f'page_@pagepart@']]
+endforeach
doxygen_env.set('LIBPIPEWIRE_MODULES', '
- ' + '
- '.join(module_manpage_list) + '
')
diff --git a/src/modules/spa/module-device-factory.c b/src/modules/spa/module-device-factory.c
index 98acc4d6c..0211b7ecc 100644
--- a/src/modules/spa/module-device-factory.c
+++ b/src/modules/spa/module-device-factory.c
@@ -15,6 +15,10 @@
#include "spa-device.h"
+/** \page page_module_spa_device_factory SPA Device factory
+ *
+ * Provide a factory to create SPA devices.
+ */
#define NAME "spa-device-factory"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
diff --git a/src/modules/spa/module-device.c b/src/modules/spa/module-device.c
index a5e09ecf5..f7940014b 100644
--- a/src/modules/spa/module-device.c
+++ b/src/modules/spa/module-device.c
@@ -12,6 +12,10 @@
#include "spa-device.h"
+/** \page page_module_spa_device SPA Device
+ *
+ * Load and manage an SPA device.
+ */
#define NAME "spa-device"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
diff --git a/src/modules/spa/module-node-factory.c b/src/modules/spa/module-node-factory.c
index dbbc6d0b4..64141532f 100644
--- a/src/modules/spa/module-node-factory.c
+++ b/src/modules/spa/module-node-factory.c
@@ -15,6 +15,10 @@
#include "spa-node.h"
+/** \page page_module_spa_node_factory SPA Node factory
+ *
+ * Provide a factory to create SPA nodes.
+ */
#define NAME "spa-node-factory"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
diff --git a/src/modules/spa/module-node.c b/src/modules/spa/module-node.c
index 9844607bc..88a67fd38 100644
--- a/src/modules/spa/module-node.c
+++ b/src/modules/spa/module-node.c
@@ -14,6 +14,10 @@
#include "spa-node.h"
+/** \page page_module_spa_node SPA Node
+ *
+ * Load and manage an SPA node.
+ */
#define NAME "spa-node"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);