summaryrefslogtreecommitdiffstats
path: root/debian/tests/manual-tests.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/tests/manual-tests.md147
1 files changed, 147 insertions, 0 deletions
diff --git a/debian/tests/manual-tests.md b/debian/tests/manual-tests.md
new file mode 100644
index 0000000..6910d3b
--- /dev/null
+++ b/debian/tests/manual-tests.md
@@ -0,0 +1,147 @@
+Manual tests for PipeWire
+=========================
+
+Introspection (pipewire)
+------------------------
+
+Install `pipewire`.
+
+Run `pw-cli dump`.
+
+Video streams
+-------------
+
+Install `pipewire` and `pipewire-tests`.
+
+Run `/usr/libexec/installed-tests/pipewire-0.3/examples/video-src`
+(or `video-src-alloc`). It will print a node ID, for example 42.
+
+In another terminal, run
+`/usr/libexec/installed-tests/pipewire-0.3/examples/video-play 42`
+or `/usr/libexec/installed-tests/pipewire-0.3/examples/export-sink 42`,
+replacing 42 by the node ID you saw. You should get a window with an
+animation.
+
+Similarly, if you uncomment the lines
+
+```
+add-spa-lib videotestsrc videotestsrc/libspa-videotestsrc
+create-object spa-node-factory factory.name=videotestsrc node.name=videotestsrc Spa:Pod:Object:Param:Props:patternType=1
+```
+
+in `/etc/pipewire/pipewire.conf`, then you should see a node in the output
+of `pw-cli ls Node` with `node.name = "videotestsrc"`. Pass its node ID
+to `video-play` to see a different animation.
+
+V4L2 cameras
+------------
+
+If you have a camera, run
+`/usr/libexec/installed-tests/pipewire-0.3/examples/local-v4l2` or
+`/usr/libexec/installed-tests/pipewire-0.3/examples/spa/local-v4l2`.
+You should get a camera stream displayed in a window (but this might
+fail if it cannot negotiate a suitable capture resolution).
+
+Audio sink
+----------
+
+Use `pw-play` to play a WAV file.
+
+Audio test source
+-----------------
+
+If you uncomment the lines
+
+```
+add-spa-lib audiotestsrc audiotestsrc/libspa-audiotestsrc
+create-object adapter factory.name=audiotestsrc node.name=my-test
+```
+
+in `/etc/pipewire/pipewire.conf`, then you should see a node in the output
+of `pw-cli ls Node` with `node.name = "my-test"`. You can record from it
+with `pw-record --target ${node id here} test.wav` (press Ctrl+C to
+stop recording).
+
+ALSA client plugin (pipewire-audio-client-libraries)
+----------------------------------------------------
+
+Install `pipewire-audio-client-libraries` and `alsa-utils`.
+Make sure PulseAudio is not currently playing audio and is configured
+to release the audio device when not in use.
+
+`aplay -L` should list `pipewire`.
+
+`aplay -D pipewire /usr/share/sounds/alsa/Front_Center.wav` should
+play a sound.
+
+JACK client library replacement (pipewire-audio-client-libraries)
+-----------------------------------------------------------------
+
+Install `pipewire`, `pipewire-audio-client-libraries`, `alsa-utils` and
+`sndfile-tools`. Do not have a real JACK server running.
+Make sure PulseAudio is not currently playing audio and is configured
+to release the audio device when not in use.
+
+`aplay -D jack /usr/share/sounds/alsa/Front_Center.wav` and
+`sndfile-jackplay /usr/share/sounds/alsa/Front_Center.wav` should fail
+with:
+
+```
+jack server is not running or cannot be started
+```
+
+`pw-jack aplay -D jack /usr/share/sounds/alsa/Front_Center.wav`
+should succeed.
+
+* TODO: Currently it prints
+
+ aplay: set_params:1343: Sample format non available
+ Available formats:
+ - FLOAT_LE
+
+ and segfaults.
+
+`pw-jack sndfile-jackplay /usr/share/sounds/alsa/Front_Center.wav`
+should succeed.
+
+* TODO: Currently it prints
+ `Cannot connect output port 0 (alsa_pcm:playback_1)` and plays
+ silence for the length of the test file.
+
+PulseAudio client library replacement (pipewire-audio-client-libraries)
+-----------------------------------------------------------------------
+
+Install `pipewire`, `pipewire-audio-client-libraries`, `alsa-utils` and
+`pulseaudio-utils`. Make sure PulseAudio is not currently playing audio
+and is configured to release the audio device when not in use.
+
+Setup: let your pulseaudio service become idle, then
+`pkill -STOP pulseaudio`.
+
+`paplay /usr/share/sounds/alsa/Front_Center.wav` should hang (because
+PulseAudio has been stopped).
+
+`pw-pulse paplay /usr/share/sounds/alsa/Front_Center.wav` should play
+the audio.
+
+Teardown: `pkill -CONT pulseaudio` to return it to normal.
+
+GStreamer elements (gstreamer1.0-pipewire)
+------------------------------------------
+
+Install `gstreamer1.0-tools` and `gstreamer1.0-pipewire`.
+Make sure PulseAudio is not currently playing audio and is configured
+to release the audio device when not in use.
+
+Run: `gst-inspect-1.0 pipewire`. It should list `pipewiresrc`,
+`pipewiresink` and `pipewiredeviceprovider`.
+
+Run: `gst-inspect-1.0 pipewiresrc`. It should list details.
+
+Run: `gst-inspect-1.0 pipewiresink`. It should list details.
+
+Run: `gst-launch-1.0 audiotestsrc '!' pipewiresink`. It should beep
+until you press Ctrl+C.
+
+Run: `gst-launch-1.0 pipewiresrc '!' videoconvert '!' autovideosink`.
+You should get a webcam image (if you have a webcam).