From 986b8e338782a4c8aab83e626949ed5457eb5b69 Mon Sep 17 00:00:00 2001 From: Bhalchandra Gajare Date: Wed, 4 Sep 2019 15:32:35 -0700 Subject: tinyalsa: add support for PCM plugins Update the pcm framework to support plugins. Resolve the pcm device node to be either kernel device or virtual device and setup function pointers accordingly. Implement framework functionality for pcm_plugin.c for ease of plugin development. Plugin itself is compiled as shared object (.so) and dynamically linked from pcm_plugin.c. Signed-off-by: Bhalchandra Gajare Signed-off-by: Rohit kumar --- src/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/Makefile') diff --git a/src/Makefile b/src/Makefile index aa00484..b278f47 100644 --- a/src/Makefile +++ b/src/Makefile @@ -15,7 +15,7 @@ INCLUDE_DIRS = -I ../include override CFLAGS := $(WARNINGS) $(INCLUDE_DIRS) -fPIC $(CFLAGS) VPATH = ../include/tinyalsa -OBJECTS = limits.o mixer.o pcm.o +OBJECTS = limits.o mixer.o pcm.o pcm_plugin.o pcm_hw.o snd_card_plugin.o LIBVERSION_MAJOR = $(TINYALSA_VERSION_MAJOR) LIBVERSION = $(TINYALSA_VERSION) @@ -25,10 +25,16 @@ all: libtinyalsa.a libtinyalsa.so pcm.o: pcm.c pcm.h +pcm_plugin.o: pcm_plugin.c pcm_io.h + +pcm_hw.o: pcm_hw.c pcm_io.h + limits.o: limits.c limits.h mixer.o: mixer.c mixer.h +snd_card_plugin.o: snd_card_plugin.c snd_card_plugin.h + libtinyalsa.a: $(OBJECTS) $(AR) $(ARFLAGS) $@ $^ -- cgit v1.2.3 From e7c627dd74f5d43439792491c291564e298cbb10 Mon Sep 17 00:00:00 2001 From: Bhalchandra Gajare Date: Wed, 19 Jun 2019 15:30:42 -0700 Subject: tinyalsa: add support for mixer plugins Update the mixer framework to support plugins. Add ability for physical card to have either kernel registered mixer controls or plugin registered mixer control or both. Split mixer controls into two groups, one for kernel registered (hw_grp) and the other for plugin registered (virtual_grp). Signed-off-by: Rohit kumar Signed-off-by: Bhalchandra Gajare --- src/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Makefile') diff --git a/src/Makefile b/src/Makefile index b278f47..79628b5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -15,7 +15,7 @@ INCLUDE_DIRS = -I ../include override CFLAGS := $(WARNINGS) $(INCLUDE_DIRS) -fPIC $(CFLAGS) VPATH = ../include/tinyalsa -OBJECTS = limits.o mixer.o pcm.o pcm_plugin.o pcm_hw.o snd_card_plugin.o +OBJECTS = limits.o mixer.o pcm.o pcm_plugin.o pcm_hw.o snd_card_plugin.o mixer_plugin.o mixer_hw.o LIBVERSION_MAJOR = $(TINYALSA_VERSION_MAJOR) LIBVERSION = $(TINYALSA_VERSION) @@ -35,6 +35,10 @@ mixer.o: mixer.c mixer.h snd_card_plugin.o: snd_card_plugin.c snd_card_plugin.h +mixer_plugin.o: mixer_plugin.c mixer_io.h + +mixer_hw.o: mixer_hw.c mixer_io.h + libtinyalsa.a: $(OBJECTS) $(AR) $(ARFLAGS) $@ $^ -- cgit v1.2.3