From e46a30562ff21d70215d0efc77496a9d7f587542 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 22 Sep 2021 13:42:18 +1000 Subject: [PATCH] Promote media-session to its own subdirectory media-session is past the point of being a mere example, let's promote it out of the subdirectory. pw-reserve is moved to tools/ --- doc/meson.build | 8 ++-- po/POTFILES.in | 2 +- pw-uninstalled.sh | 2 +- src/examples/meson.build | 48 ------------------- .../media-session/access-flatpak.c | 0 .../media-session/access-portal.c | 0 .../media-session/alsa-endpoint.c | 0 src/{examples => }/media-session/alsa-midi.c | 0 .../media-session/alsa-monitor.c | 0 .../media-session/alsa-no-dsp.c | 0 .../media-session/bluez-autoswitch.c | 0 .../media-session/bluez-endpoint.c | 0 .../media-session/bluez-monitor.c | 0 .../media-session/default-nodes.c | 0 .../media-session/default-profile.c | 0 .../media-session/default-routes.c | 0 .../media-session/libcamera-monitor.c | 0 src/{examples => }/media-session/logind.c | 0 .../media-session/match-rules.c | 0 .../media-session/media-session.c | 0 .../media-session/media-session.h | 0 src/media-session/meson.build | 41 ++++++++++++++++ src/{examples => }/media-session/metadata.c | 0 src/{examples => }/media-session/policy-ep.c | 0 .../media-session/policy-node.c | 0 src/{examples => }/media-session/reserve.c | 0 src/{examples => }/media-session/reserve.h | 0 .../media-session/restore-stream.c | 0 .../media-session/session-manager.c | 0 .../media-session/stream-endpoint.c | 0 .../media-session/streams-follow-default.c | 0 .../media-session/suspend-node.c | 0 .../media-session/v4l2-endpoint.c | 0 .../media-session/v4l2-monitor.c | 0 src/meson.build | 1 + src/tools/meson.build | 6 +++ .../media-session => tools}/pw-reserve.c | 2 +- 37 files changed, 54 insertions(+), 56 deletions(-) rename src/{examples => }/media-session/access-flatpak.c (100%) rename src/{examples => }/media-session/access-portal.c (100%) rename src/{examples => }/media-session/alsa-endpoint.c (100%) rename src/{examples => }/media-session/alsa-midi.c (100%) rename src/{examples => }/media-session/alsa-monitor.c (100%) rename src/{examples => }/media-session/alsa-no-dsp.c (100%) rename src/{examples => }/media-session/bluez-autoswitch.c (100%) rename src/{examples => }/media-session/bluez-endpoint.c (100%) rename src/{examples => }/media-session/bluez-monitor.c (100%) rename src/{examples => }/media-session/default-nodes.c (100%) rename src/{examples => }/media-session/default-profile.c (100%) rename src/{examples => }/media-session/default-routes.c (100%) rename src/{examples => }/media-session/libcamera-monitor.c (100%) rename src/{examples => }/media-session/logind.c (100%) rename src/{examples => }/media-session/match-rules.c (100%) rename src/{examples => }/media-session/media-session.c (100%) rename src/{examples => }/media-session/media-session.h (100%) create mode 100644 src/media-session/meson.build rename src/{examples => }/media-session/metadata.c (100%) rename src/{examples => }/media-session/policy-ep.c (100%) rename src/{examples => }/media-session/policy-node.c (100%) rename src/{examples => }/media-session/reserve.c (100%) rename src/{examples => }/media-session/reserve.h (100%) rename src/{examples => }/media-session/restore-stream.c (100%) rename src/{examples => }/media-session/session-manager.c (100%) rename src/{examples => }/media-session/stream-endpoint.c (100%) rename src/{examples => }/media-session/streams-follow-default.c (100%) rename src/{examples => }/media-session/suspend-node.c (100%) rename src/{examples => }/media-session/v4l2-endpoint.c (100%) rename src/{examples => }/media-session/v4l2-monitor.c (100%) rename src/{examples/media-session => tools}/pw-reserve.c (99%) diff --git a/doc/meson.build b/doc/meson.build index 390e64ec9..d6abfbf5b 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -22,11 +22,9 @@ endforeach foreach h : module_sources inputs += meson.source_root() / 'src' / 'modules' / h endforeach -if is_variable('media_session_sources') - foreach h : media_session_sources - inputs += meson.source_root() / 'src' / 'examples' / h - endforeach -endif +foreach h : media_session_sources + inputs += meson.source_root() / 'src' / 'media-session' / h +endforeach inputs += meson.source_root() / 'test' / 'pwtest.h' # SPA headers use static inline functions. Doxygen doesn't extract those diff --git a/po/POTFILES.in b/po/POTFILES.in index cfd8eb3f4..070090e3e 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,6 @@ src/daemon/pipewire.c src/daemon/pipewire.desktop.in -src/examples/media-session/alsa-monitor.c +src/media-session/alsa-monitor.c src/modules/module-protocol-pulse/modules/module-tunnel-sink.c src/modules/module-protocol-pulse/modules/module-tunnel-source.c src/modules/module-pulse-tunnel.c diff --git a/pw-uninstalled.sh b/pw-uninstalled.sh index abf3ddcfc..344d83bcc 100755 --- a/pw-uninstalled.sh +++ b/pw-uninstalled.sh @@ -41,7 +41,7 @@ export SPA_PLUGIN_DIR="${BUILDDIR}/spa/plugins" export SPA_DATA_DIR="${SCRIPT_DIR}/spa/plugins" # the directory with pipewire modules export PIPEWIRE_MODULE_DIR="${BUILDDIR}/src/modules" -export PATH="${BUILDDIR}/src/daemon:${BUILDDIR}/src/tools:${BUILDDIR}/src/examples:${PATH}" +export PATH="${BUILDDIR}/src/daemon:${BUILDDIR}/src/tools:${BUILDDIR}/src/media-session:${BUILDDIR}/src/examples:${PATH}" export LD_LIBRARY_PATH="${BUILDDIR}/src/pipewire/:${BUILDDIR}/pipewire-jack/src/${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}" export GST_PLUGIN_PATH="${BUILDDIR}/src/gst/${GST_PLUGIN_PATH+":${GST_PLUGIN_PATH}"}" # the directory with card profiles and paths diff --git a/src/examples/meson.build b/src/examples/meson.build index b6e30dc90..f9715f372 100644 --- a/src/examples/meson.build +++ b/src/examples/meson.build @@ -56,54 +56,6 @@ executable('export-spa-device', dependencies : [pipewire_dep, mathlib], ) -media_session_sources = [] -if get_option('session-managers').contains('media-session') - sm_logind_src = [] - sm_logind_dep = [] - if systemd.found() and systemd_dep.found() - sm_logind_src = ['media-session/logind.c'] - sm_logind_dep = [systemd_dep] - endif - media_session_sources += [ - 'media-session/access-flatpak.c', - 'media-session/access-portal.c', - 'media-session/alsa-no-dsp.c', - 'media-session/alsa-midi.c', - 'media-session/alsa-monitor.c', - 'media-session/alsa-endpoint.c', - 'media-session/bluez-monitor.c', - 'media-session/bluez-endpoint.c', - 'media-session/bluez-autoswitch.c', - 'media-session/default-nodes.c', - 'media-session/default-profile.c', - 'media-session/default-routes.c', - 'media-session/media-session.c', - 'media-session/session-manager.c', - 'media-session/match-rules.c', - 'media-session/metadata.c', - 'media-session/stream-endpoint.c', - 'media-session/restore-stream.c', - 'media-session/policy-ep.c', - 'media-session/policy-node.c', - 'media-session/streams-follow-default.c', - 'media-session/v4l2-monitor.c', - 'media-session/v4l2-endpoint.c', - 'media-session/libcamera-monitor.c', - 'media-session/suspend-node.c', - ] + sm_logind_src - executable('pipewire-media-session', - media_session_sources, - install: true, - dependencies : [dbus_dep, pipewire_dep, alsa_dep, mathlib, sm_logind_dep, libinotify_dep], -) -endif - -executable('pw-reserve', - 'media-session/pw-reserve.c', - install: true, - dependencies : [dbus_dep, pipewire_dep], -) - executable('bluez-session', 'bluez-session.c', install : installed_tests_enabled, diff --git a/src/examples/media-session/access-flatpak.c b/src/media-session/access-flatpak.c similarity index 100% rename from src/examples/media-session/access-flatpak.c rename to src/media-session/access-flatpak.c diff --git a/src/examples/media-session/access-portal.c b/src/media-session/access-portal.c similarity index 100% rename from src/examples/media-session/access-portal.c rename to src/media-session/access-portal.c diff --git a/src/examples/media-session/alsa-endpoint.c b/src/media-session/alsa-endpoint.c similarity index 100% rename from src/examples/media-session/alsa-endpoint.c rename to src/media-session/alsa-endpoint.c diff --git a/src/examples/media-session/alsa-midi.c b/src/media-session/alsa-midi.c similarity index 100% rename from src/examples/media-session/alsa-midi.c rename to src/media-session/alsa-midi.c diff --git a/src/examples/media-session/alsa-monitor.c b/src/media-session/alsa-monitor.c similarity index 100% rename from src/examples/media-session/alsa-monitor.c rename to src/media-session/alsa-monitor.c diff --git a/src/examples/media-session/alsa-no-dsp.c b/src/media-session/alsa-no-dsp.c similarity index 100% rename from src/examples/media-session/alsa-no-dsp.c rename to src/media-session/alsa-no-dsp.c diff --git a/src/examples/media-session/bluez-autoswitch.c b/src/media-session/bluez-autoswitch.c similarity index 100% rename from src/examples/media-session/bluez-autoswitch.c rename to src/media-session/bluez-autoswitch.c diff --git a/src/examples/media-session/bluez-endpoint.c b/src/media-session/bluez-endpoint.c similarity index 100% rename from src/examples/media-session/bluez-endpoint.c rename to src/media-session/bluez-endpoint.c diff --git a/src/examples/media-session/bluez-monitor.c b/src/media-session/bluez-monitor.c similarity index 100% rename from src/examples/media-session/bluez-monitor.c rename to src/media-session/bluez-monitor.c diff --git a/src/examples/media-session/default-nodes.c b/src/media-session/default-nodes.c similarity index 100% rename from src/examples/media-session/default-nodes.c rename to src/media-session/default-nodes.c diff --git a/src/examples/media-session/default-profile.c b/src/media-session/default-profile.c similarity index 100% rename from src/examples/media-session/default-profile.c rename to src/media-session/default-profile.c diff --git a/src/examples/media-session/default-routes.c b/src/media-session/default-routes.c similarity index 100% rename from src/examples/media-session/default-routes.c rename to src/media-session/default-routes.c diff --git a/src/examples/media-session/libcamera-monitor.c b/src/media-session/libcamera-monitor.c similarity index 100% rename from src/examples/media-session/libcamera-monitor.c rename to src/media-session/libcamera-monitor.c diff --git a/src/examples/media-session/logind.c b/src/media-session/logind.c similarity index 100% rename from src/examples/media-session/logind.c rename to src/media-session/logind.c diff --git a/src/examples/media-session/match-rules.c b/src/media-session/match-rules.c similarity index 100% rename from src/examples/media-session/match-rules.c rename to src/media-session/match-rules.c diff --git a/src/examples/media-session/media-session.c b/src/media-session/media-session.c similarity index 100% rename from src/examples/media-session/media-session.c rename to src/media-session/media-session.c diff --git a/src/examples/media-session/media-session.h b/src/media-session/media-session.h similarity index 100% rename from src/examples/media-session/media-session.h rename to src/media-session/media-session.h diff --git a/src/media-session/meson.build b/src/media-session/meson.build new file mode 100644 index 000000000..ff83f34fc --- /dev/null +++ b/src/media-session/meson.build @@ -0,0 +1,41 @@ +media_session_sources = [] +if get_option('session-managers').contains('media-session') + sm_logind_src = [] + sm_logind_dep = [] + if systemd.found() and systemd_dep.found() + sm_logind_src = ['logind.c'] + sm_logind_dep = [systemd_dep] + endif + media_session_sources += [ + 'access-flatpak.c', + 'access-portal.c', + 'alsa-no-dsp.c', + 'alsa-midi.c', + 'alsa-monitor.c', + 'alsa-endpoint.c', + 'bluez-monitor.c', + 'bluez-endpoint.c', + 'bluez-autoswitch.c', + 'default-nodes.c', + 'default-profile.c', + 'default-routes.c', + 'media-session.c', + 'session-manager.c', + 'match-rules.c', + 'metadata.c', + 'stream-endpoint.c', + 'restore-stream.c', + 'policy-ep.c', + 'policy-node.c', + 'streams-follow-default.c', + 'v4l2-monitor.c', + 'v4l2-endpoint.c', + 'libcamera-monitor.c', + 'suspend-node.c', + ] + sm_logind_src + pms = executable('pipewire-media-session', + media_session_sources, + install: true, + dependencies : [dbus_dep, pipewire_dep, alsa_dep, mathlib, sm_logind_dep, libinotify_dep], +) +endif diff --git a/src/examples/media-session/metadata.c b/src/media-session/metadata.c similarity index 100% rename from src/examples/media-session/metadata.c rename to src/media-session/metadata.c diff --git a/src/examples/media-session/policy-ep.c b/src/media-session/policy-ep.c similarity index 100% rename from src/examples/media-session/policy-ep.c rename to src/media-session/policy-ep.c diff --git a/src/examples/media-session/policy-node.c b/src/media-session/policy-node.c similarity index 100% rename from src/examples/media-session/policy-node.c rename to src/media-session/policy-node.c diff --git a/src/examples/media-session/reserve.c b/src/media-session/reserve.c similarity index 100% rename from src/examples/media-session/reserve.c rename to src/media-session/reserve.c diff --git a/src/examples/media-session/reserve.h b/src/media-session/reserve.h similarity index 100% rename from src/examples/media-session/reserve.h rename to src/media-session/reserve.h diff --git a/src/examples/media-session/restore-stream.c b/src/media-session/restore-stream.c similarity index 100% rename from src/examples/media-session/restore-stream.c rename to src/media-session/restore-stream.c diff --git a/src/examples/media-session/session-manager.c b/src/media-session/session-manager.c similarity index 100% rename from src/examples/media-session/session-manager.c rename to src/media-session/session-manager.c diff --git a/src/examples/media-session/stream-endpoint.c b/src/media-session/stream-endpoint.c similarity index 100% rename from src/examples/media-session/stream-endpoint.c rename to src/media-session/stream-endpoint.c diff --git a/src/examples/media-session/streams-follow-default.c b/src/media-session/streams-follow-default.c similarity index 100% rename from src/examples/media-session/streams-follow-default.c rename to src/media-session/streams-follow-default.c diff --git a/src/examples/media-session/suspend-node.c b/src/media-session/suspend-node.c similarity index 100% rename from src/examples/media-session/suspend-node.c rename to src/media-session/suspend-node.c diff --git a/src/examples/media-session/v4l2-endpoint.c b/src/media-session/v4l2-endpoint.c similarity index 100% rename from src/examples/media-session/v4l2-endpoint.c rename to src/media-session/v4l2-endpoint.c diff --git a/src/examples/media-session/v4l2-monitor.c b/src/media-session/v4l2-monitor.c similarity index 100% rename from src/examples/media-session/v4l2-monitor.c rename to src/media-session/v4l2-monitor.c diff --git a/src/meson.build b/src/meson.build index 2fb73fd59..ee083f319 100644 --- a/src/meson.build +++ b/src/meson.build @@ -3,6 +3,7 @@ subdir('pipewire') subdir('daemon') subdir('tools') subdir('modules') +subdir('media-session') if not get_option('examples').disabled() subdir('examples') endif diff --git a/src/tools/meson.build b/src/tools/meson.build index 562048e33..c7c6e8e19 100644 --- a/src/tools/meson.build +++ b/src/tools/meson.build @@ -59,3 +59,9 @@ elif not sndfile_dep.found() and get_option('pw-cat').enabled() error('pw-cat is enabled but required dependency `sndfile` was not found.') endif summary({'Build pw-cat tool': build_pw_cat}, bool_yn: true, section: 'pw-cat/pw-play/pw-dump tool') + +executable('pw-reserve', + 'pw-reserve.c', + install: true, + dependencies : [dbus_dep, pipewire_dep], +) diff --git a/src/examples/media-session/pw-reserve.c b/src/tools/pw-reserve.c similarity index 99% rename from src/examples/media-session/pw-reserve.c rename to src/tools/pw-reserve.c index 6597a6c8d..dfe07e45d 100644 --- a/src/examples/media-session/pw-reserve.c +++ b/src/tools/pw-reserve.c @@ -33,7 +33,7 @@ #include "pipewire/pipewire.h" -#include "reserve.c" +#include "../media-session/reserve.c" #define NAME "reserve"