Pulseaudio for ARM improvements for 1105

Registered by Alexander Sack

Purpose of this Blueprint is to create a mode of operation with large audio buffers that can help processor go to sleep for longer time and hence save power during audio playing. This is particularly important for portable devices. Pulseaudio framework should be modified to accept larger amount of data from source modules and also dump large amount of data on sink modules. Mixing cases should be handled carefully so as to not cause delay of mixed audio.

Blueprint information

Status:
Complete
Approver:
Alexander Sack
Priority:
Medium
Drafter:
Kurt Taylor
Direction:
Needs approval
Assignee:
Kurt Taylor
Definition:
Approved
Series goal:
Accepted for 11.05
Implementation:
Implemented
Milestone target:
milestone icon 11.03
Started by
Alexander Sack
Completed by
Kurt Taylor

Related branches

Sprints

Whiteboard

[krtaylor Feb21]: Changed OMAP4 device to OMAP
[krtaylor Jan25]: Updated status
[krtaylor Jan20]: Updated status
[krtaylor Jan20]: Moved ALSA SoC and DAPM study to 11.02
[krtaylor Dec16]: Refreshed work items
[krtaylor Nov21]: differentiate with ALSA ASoC/DAPM - would this be a pass-through to the ALSA lib http://www.alsa-project.org/main/index.php/ASoC
[asac Nov 21]: dropped redundant 1105 from wiki page name
[asac Nov 21]: please refine work items further; 1 man month code study is too much. leverage upstream, mailing list and common sense to get this down to a week.
[asac Dec 17]: moving assignment to kurt; mandeep stays in peer role to help out. please fix the work item syntax; expand the work items with more steps that we already can forsee and target work items against milestones. aim for delivery at 11.03 milestone.
[asac Jan 03]: approving. I think a few itesm from 11.01 should go to later milestones, but go ahead and show me that you can deliver that much!!

Comments
----------------
[asac Nov 17]: mandeep, please draft the spec and add work items.

I'm writing this on the whiteboard in hope that it will reach the right people: I just brought this (at least a part of it) upstream, please see https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-November/008154.html and contribute to the discussion. // diwic 2010-11-05

(?)

Work Items

Work items for 11.01:
Create working development/testing environment: DONE
Study PulseAudio buffer management source to produce design document: DONE
Document development environment setup: DONE
Communicate intention with upstream projects for comments/direction: DONE
Determine impact of dynamic setting of ALSA maximum buffer size on PA buffer size: DONE
Understand mmap vs interleaved and its impact on tsched: DONE
Experiment with running with different buffer, tshed and period sizes, document findings: DONE
Prototype dynamic growth of buffers for power state: DONE

Work items for 11.02:
Study ALSA SoC and DAPM to understand and document hardware buffer management: DONE
Document plan for testing power state per playback buffer increase: DONE
Implement a test application for exercising buffer size increases for power savings: POSTPONED
Implement playback improvements for buffer size increase: POSTPONED
Setup OMAP device with working default pulseaudio sources: DONE
Test buffer increase improvements on OMAP hardware: DONE
Communicate changes upstream for feedback: DONE
Identify and document all target devices for buffer testing: DONE

Work items for 11.03:
Test and document results and recommendations for power savings with the alsa period wake disable patch: DONE
Study Tsched and watermark reduction adjustments for reducing wakes and underruns: POSTPONED
Code patch for changing buffer size from config file: DONE

Dependency tree

* Blueprints in grey have been implemented.