summaryrefslogtreecommitdiffstats
path: root/loopback/loopback.c
AgeCommit message (Collapse)AuthorFilesLines
2019-04-08Fix loopback re-adding of controlsMark Farrugia1-1/+1
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2019-04-08Introduce 'unconfigure' callbackMark Farrugia1-0/+11
The 'unconfigure' callback can be used to clean up the 'configured' state of an Audio Path, for when it is desired to reset the streams, and/or reload a different stream configuration. To destroy the streams, we must attempt to force their PCMs closed. Take note though, that if a PCM is being written to when an unconfigure command is issued, system instability may occur. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2019-03-27Remove snd_avirt_pcm_period_elapsed, format tidyMark Farrugia1-1/+1
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>
2018-11-23Remove rogue info printMark Farrugia1-2/+0
This print occurs on every trigger PCM callback - which is a lot! Need to remove, as it was originally only there for debugging Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-13Rework PCM ops callback mechanismMark Farrugia1-1/+2
- 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-01Only expose streams mapped to audiopaths on configure() cbMark Farrugia1-17/+23
When the configure() callback occurs for each audiopath, we only want those streams that are mapped to the given audiopath to be exposed to the audiopath. E.g. only streams mapped to loopback should be propagated to loopback via configure() callback, rather than all streams. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-31Remove coreinfo, absorb version info into coreMark Farrugia1-4/+3
Since coreinfo only has version info, and this is not being used at all, we can absorb the version info into the private avirt_core structure. We could in future implement a function to retrieve the version, when, and if, it is required. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Refactor all avirt_ symbols to have have snd prefix, as per Linux soundMark Farrugia1-16/+16
This will aid the eventual migration the the upstream mainline Linux kernel Fix some checkpatch warnings, and other compiler warnings Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Move system-leavel header to sound directoryMark Farrugia1-2/+1
Change include guards to reflect Linux sound driver format Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove unused MODULE_SUPPORTED_DEVICE macros, removed obsolete commentsMark Farrugia1-1/+0
Added debug macros for Dummy AP Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update license headersMark Farrugia1-29/+17
All license headers need to be uniform across AVIRT Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix module authors/descriptionsMark Farrugia1-2/+2
These need to be in the format the Linux expects, and uniform across AVIRT Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add working loopback implementation, helper scriptsMark Farrugia1-184/+1001
Reworked the original aloop implementation to have the PCM devices loop on themselves, and subscribe the the AVIRT system. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove blocksize from audiopathMark Farrugia1-1/+1
This is no longer needed in AVIRT, since it is only actually used for the ADSP Audio Path. Clean up white space, add function documentation, remove out of place debug prints Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Loopback progressJames O'Shannessy1-7/+13
Loopback currently reads from dma_area but the initial copy from playback to capture has not been implemented. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Current state of loopback.James O'Shannessy1-21/+13
Committing debug changes and loopback changes Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Changes to loopbackJames O'Shannessy1-8/+48
Added more detailed printing to loopback, alsa-pcm. Updated load and unload functions Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Updating loopback audio path.James O'Shannessy1-5/+163
Added initial implementation with callback operating on timer. NOTE: Copying from PB to C is not yet implemented Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Adding groundwork for loopbackJames O'Shannessy1-0/+112
Added a skeleton for the loopback audiopath. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>