Age | Commit message (Collapse) | Author |
|
Make pcm_mmap_transfer() compatible with read/write IO.
start_threshold check was not valid for capture.
pcm->running checks were removed.
NOIRQ fallback was removed. Clocks of sound devices may
differ from the system, leading to desynchronization.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
pcm_mmap_transfer() will be rewritten. Put together
functions related to mmap transfer.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Use pcm_avail_update(), check avail for timestamp
coherence.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
pcm_get_htimestamp() will be rewritten. Place it after
pcm_avail_update(), which will be used in the rewrite.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Instead of sending appl_ptr and avail_min to the kernel,
get them. This is the behavior of alsa-lib.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
When hardware pointer update is requested and status
structure is mmaped, call HWSYNC ioctl.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Hardware pointer should not be updated in available
calculation.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
It's not necessary to send appl_ptr or avail_min to the
kernel here.
In prepare action, called later in pcm_open(), appl_ptr
becomes zero.
avail_min is already defined in software parameters.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
appl_ptr becomes zero in prepare action. avail_min is the
same as when it was set in software parameters.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
It is not needed.
As the pcm structure is opaque to user it can be safely
removed.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Prepare is done in pcm_open().
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Start is done by kernel when start_threshold or more frames
are requested.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
The state cannot be assumed as RUNNING after a write
because start_threshold may not have elapsed.
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
This eliminates the need for prepare in transfer functions
and pcm_start().
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
meson: extract project version from header file and version .so
|
|
- Extract project version from tinyalsa/version.h for
easier maintainability
- Version shared lib: tinyalsa.so -> tinyalsa.so.1.1.1
|
|
Add support for Meson as build system
|
|
The Meson build system is being adopted by projects
such as GNOME, PulseAudio, GStreamer, VLC, systemd, Mesa,
Wayland, X.org, and many others. Having a meson build
upstream in tinyalsa would allow for easy use of tinyalsa
as a Meson subproject in other projects.
https://mesonbuild.com
|
|
|
|
|
|
|
|
|
|
Fix/pcm link
|
|
When pcm device is linked to other pcm device,
the start call may be triggered by other pcm device.
Handle this condition by checing pcm state before start call.
Signed-off-by: Miguel Gaio <mgaio35@gmail.com>
|
|
It is valid to get null sync_ptr on dma mmap coherent architecture.
In this case pcm_sync_ptr() is a nop.
Signed-off-by: Miguel Gaio <mgaio35@gmail.com>
|
|
Minor tweaks to enum controls
|
|
The current format of the data printed for enumeration controls is to
list all the control values with no separator between them and to place
a comma before the currently selected value. This format is hard to
parse as a human and very difficult to parse automatically. Change this
to separate individual values with a comma and mark the selected value
with a right angle bracket.
For example, the following output is given for the "AEC Loopback"
control on one of our CODECs:
HPOUT1LHPOUT1R, SPKOUTSPKDATLSPKDATR
After the change this becomes:
HPOUT1L, HPOUT1R, > SPKOUT, SPKDATL, SPKDATR,
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
It is only required to obtain the value of the control once whilst
processing tinymix_print_enum. This will significantly reduce the amount
of IOCTLs sent for reading an enum control.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
Fix pcm_writei return value if pcm is in not running state.
|
|
As per comment, on success, pcm_writei returns the number of frames written.
Fix the case of pcm not running.
Signed-off-by: Miguel GAIO <mgaio35@gmail.com>
|
|
Fixed potential risk of wild pointer
|
|
|
|
Added reading from stdin.
|
|
|
|
|
|
Replace old style Android.mk with new Android.bp
|
|
Create a new Android.bp file used by Android Oreo. There are
dependencies on tinyalsa from other components in Oreo that
use the new build system and these break if tinyalsa is using
the older Android.mk build system.
Oreo still picks up and tries to build the Android.mk found in
the jni directory and this leads to a build conflict so it has
been deleted.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
|