summaryrefslogtreecommitdiffstats
path: root/pcm.c
AgeCommit message (Collapse)AuthorFilesLines
2019-04-08Refactor 'sealed' to 'configured'Mark Farrugia1-2/+2
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2019-03-27Rework routing systemMark Farrugia1-16/+87
- Add 'route' to snd_avirt_stream, remove from audio path - Add route checking - ensure that source ap and ink ap have compatible hw params - Add private data support for both source and sink Audio Paths, to ensure that the PCM can hold multiple private data(s). - Add ability to use copy_kernel and exttriggers from AVIRT instead of from Audio Paths - Reintroduce pcm_trigger and pcm_prepare, so that they may be called appropriately from AVIRT, rather than child Audio Paths. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2019-03-27Remove snd_avirt_pcm_period_elapsed, format tidyMark Farrugia1-16/+2
We do not need this wrapper function any longer, can use snd_pcm_period_elapsed instead. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2019-01-29Check if card is sealed before attempting to map a streamhalibut_7.90.0halibut/7.90.07.90.0Mark Farrugia1-0/+5
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-12-18Add check for channel count in pcm_openMark Farrugia1-0/+4
We need to ensure that this is not set to 0, otherwise audio will not work properly. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-23Fix vmalloc failure for some platformsMark Farrugia1-5/+2
On the Intel minnowboard, vmalloc was failing for such a large amount of requested memory. We do not need to be requesting so much. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-20Add missing return on errorMark Farrugia1-0/+2
If we return an error value from the callee, we need to return from to the caller immediately. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-20Fix missing 'close' PCM callbackMark Farrugia1-0/+17
We need to have to close PCM callback set, otherwise we get a kernel crash when the PCM middle layer attempts to dereference a NULL pointer. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-13Rework PCM ops callback mechanismMark Farrugia1-228/+30
- Fix issues regarding PCM ops callbacks via AVIRT - As PCMs are created, the PCM ops are set according to the Audio Path's needs. A default PCM ops table is applied for all PCMs, which includes callbacks such as open, and hw_free, since AVIRT requires these for intermediate processing, whether or not a given Audio Path may need them. - Separate PCM ops into separate playback and capture ops tables Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-13Refactor/tidy snd_avirt_private_dataMark Farrugia1-2/+2
Make void* audiopath a struct and_avirt_audiopath, standardize naming in the struct Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-08Add private data structure to PCM for audio path managementJames O'Shannessy1-27/+54
Expand upon the private data structure currently used by avirt to allow audio paths to store own user data to PCM implementation. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Refactor alsa-pcm.c to pcm.cMark Farrugia1-0/+332
No need for alsa- prefix any longer Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>