pulseaudio
Test plan for component: pulseaudio
Ubuntu Package URL (LP): http://launchpad.net/ubuntu/+source/pulseaudio
Test Plan
This test plan is not supposed to be complete; use it to guide your manual testing so they dont miss big functional areas that are part in the component; also this should be used as guideline to inspire the exploratory testing which should be adapted smartly based on the real content of a MP
- Install latest (devel-proposed) image on phone
- Install freshly build pulseaudio packages that are needed for landing and reboot
- Testing basic audio support:
Check that there's a default card provided by the droid module:
phablet@ubuntu-phablet:~$ pactl list cards Card #0 Name: droid_card.primary Driver: module-droid-card.c Owner Module: 7 Properties: droid.hw_module = "primary" device.icon_name = "audio-card" Profiles: primary-primary: primary output and primary input. (sinks: 1, sources: 1, priority. 300) voicecall: Call mode (sinks: 0, sources: 0, priority. 0) communication: Communication mode (sinks: 0, sources: 0, priority. 0) ringtone: Ringtone mode (sinks: 0, sources: 0, priority. 0) off: Off (sinks: 0, sources: 0, priority. 0) Active Profile: primary-primary Ports: output-earpiece: Output to earpiece (priority: 200, latency offset: 0 usec) Part of profile(s): primary-primary output-speaker: Output to speaker (priority: 300, latency offset: 0 usec) Part of profile(s): primary-primary output-wired_headset: Output to wired headset (priority: 400, latency offset: 0 usec, not available) Part of profile(s): primary-primary output-wired_headphone: Output to wired headphone (priority: 400, latency offset: 0 usec, not available) Part of profile(s): primary-primary output-bluetooth_sco: Output to bluetooth sco (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-sco_headset: Output to sco headset (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-sco_carkit: Output to sco carkit (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-aux_digital: Output to aux digital (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-analog_dock_headset: Output to analog dock headset (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-digital_dock_headset: Output to digital dock headset (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-fm_tx: Output to fm tx (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-speaker+wired_headphone: Output to speaker+wired headphone (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary output-parking: Parking port (priority: 50, latency offset: 0 usec) Part of profile(s): primary-primary input-communication: Input from communication (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-ambient: Input from ambient (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-builtin_mic: Input from builtin mic (priority: 300, latency offset: 0 usec) Part of profile(s): primary-primary input-bluetooth_sco_headset: Input from bluetooth sco headset (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-wired_headset: Input from wired headset (priority: 400, latency offset: 0 usec, not available) Part of profile(s): primary-primary input-aux_digital: Input from aux digital (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-voice_call: Input from voice call (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-back_mic: Input from back mic (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-fm: Input from fm (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-matv: Input from matv (priority: 100, latency offset: 0 usec) Part of profile(s): primary-primary input-parking: Parking port (priority: 50, latency offset: 0 usec) Part of profile(s): primary-primary
- Import audio/video files into your phone, and try playing them using the music-app/mediaplayer-app
Testing basic audio recording with parecord and paplay:
phablet@ubuntu-phablet:~$ parecord /tmp/foobar.wav # hit control+c to stop recording phablet@ubuntu-phablet:~$ paplay /tmp/foobar.wav
- Audio roles:
Check that the sink-input used by media-hub when playing via music-app/mediaplayer-app has the multimedia media role:
phablet@ubuntu-phablet:~$ pactl list sink-inputs Sink Input #2 Driver: protocol-native.c Owner Module: 10 Client: 4 Sink: 1 Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"s16le\"" format.channels = "2" format.rate = "44100" format.channel_map = "\"front-left,front-right\"" Corked: yes Mute: no Volume: 0: 100% 1: 100% 0: 0.00 dB 1: 0.00 dB balance 0.00 Buffer Latency: 144399 usec Sink Latency: 92000 usec Resample method: n/a Properties: media.role = "multimedia" media.name = "'H.' by 'Tool'" application.name = "media-hub-server" native-protocol.peer = "UNIX socket client" native-protocol.version = "28" application.process.id = "2167" application.process.user = "phablet" application.process.host = "ubuntu-phablet" application.process.binary = "media-hub-server" application.language = "C" application.process.machine_id = "e67af3a3186f485bb00521f8324bc635" application.process.session_id = "c1" module-stream-restore.id = "sink-input-by-media-role:multimedia" media.title = "H." media.artist = "Tool" Sink Input #14 Driver: protocol-native.c Owner Module: 10 Client: 4 Sink: 1 Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"s16le\"" format.channels = "2" format.rate = "44100" format.channel_map = "\"front-left,front-right\"" Corked: no Mute: no Volume: 0: 100% 1: 100% 0: 0.00 dB 1: 0.00 dB balance 0.00 Buffer Latency: 130249 usec Sink Latency: 92000 usec Resample method: n/a Properties: media.role = "multimedia" media.name = "'H.' by 'Tool'" application.name = "media-hub-server" native-protocol.peer = "UNIX socket client" native-protocol.version = "28" application.process.id = "2167" application.process.user = "phablet" application.process.host = "ubuntu-phablet" application.process.binary = "media-hub-server" application.language = "C" application.process.machine_id = "e67af3a3186f485bb00521f8324bc635" application.process.session_id = "c1" module-stream-restore.id = "sink-input-by-media-role:multimedia" media.title = "H." media.artist = "Tool"
Check that the sink-input used by media-hub when playing ringtone/notification has the alert media role:
phablet@ubuntu-phablet:~$ pactl list sink-inputs Sink Input #17 Driver: protocol-native.c Owner Module: 10 Client: 4 Sink: 1 Sample Specification: float32le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"float32le\"" format.channels = "2" format.rate = "44100" format.channel_map = "\"front-left,front-right\"" Corked: no Mute: no Volume: 0: 100% 1: 100% 0: 0.00 dB 1: 0.00 dB balance 0.00 Buffer Latency: 143650 usec Sink Latency: 92000 usec Resample method: copy Properties: media.role = "alert" media.name = "Playback Stream" application.name = "media-hub-server" native-protocol.peer = "UNIX socket client" native-protocol.version = "28" application.process.id = "2167" application.process.user = "phablet" application.process.host = "ubuntu-phablet" application.process.binary = "media-hub-server" application.language = "C" application.process.machine_id = "e67af3a3186f485bb00521f8324bc635" application.process.session_id = "c1" module-stream-restore.id = "sink-input-by-media-role:alert"
Check that the sink-input used by media-hub when playing alarm has the alarm media role:
phablet@ubuntu-phablet:~$ pactl list sink-inputs Sink Input #19 Driver: protocol-native.c Owner Module: 10 Client: 18 Sink: 1 Sample Specification: float32le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"float32le\"" format.channels = "2" format.rate = "44100" format.channel_map = "\"front-left,front-right\"" Corked: no Mute: no Volume: 0: 79% 1: 79% 0: -6.11 dB 1: -6.11 dB balance 0.00 Buffer Latency: 149455 usec Sink Latency: 92000 usec Resample method: copy Properties: media.role = "alarm" media.name = "Playback Stream" application.name = "indicator-datetime-service" native-protocol.peer = "UNIX socket client" native-protocol.version = "28" application.process.id = "2260" application.process.user = "phablet" application.process.host = "ubuntu-phablet" application.process.binary = "indicator-datetime-service" application.language = "en_US.UTF-8" application.process.machine_id = "e67af3a3186f485bb00521f8324bc635" application.process.session_id = "c1" module-stream-restore.id = "sink-input-by-media-role:alarm"
Check that there is sink-input using the phone media role when a call is active:
phablet@ubuntu-phablet:~$ pactl list sink-inputs Sink Input #21 Driver: droid-sink.c Owner Module: 7 Client: n/a Sink: 1 Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"s16le\"" format.rate = "44100" format.channels = "2" format.channel_map = "\"front-left,front-right\"" Corked: yes Mute: no Volume: 0: 100% 1: 100% 0: 0.00 dB 1: 0.00 dB balance 0.00 Buffer Latency: 0 usec Sink Latency: 92000 usec Resample method: n/a Properties: media.name = "Virtual Stream for Voice Volume Control (Droid)" media.role = "phone" module-stream-restore.id = "sink-input-by-media-role:phone"
- Corking and ducking:
- Play an audio using the music-app and start a call. The audio from the music-app should be corked while the phone call is active.
- Play an audio/video using the webbrowser and trigger an alarm. The audio from the webbrowser should be corked while the alarm call is active.
- Play an audio/video using the webbrowser and trigger a ringtone/notification. The audio from the webbrowser should be reduced (ducking effect) while the ringtone/notification is active.
- Routing:
- Play a song with music-app and connect a bluetooth device (with A2DP). The audio from music-app should automatically move to the bluetooth device.
- While playing a song with a bluetooth device connected, turn the bluetooth device off. The audio from music-app should automatically move to the internal speaker.
Process/Merges/TestPlan/pulseaudio (last edited 2014-10-09 14:58:35 by bade2fc5)