Commit Graph

36 Commits

Author SHA1 Message Date
Leonid Pliushch
1b0bce2bd5 pulseaudio: disable privilege dropping 2018-09-23 16:51:16 +02:00
Tom Yan
fd97ae4e21 libpulseaudio: set alternate sample rate in aaudio sink data
The "core" alternate sample rate must not kick in with our sink.
The sample rate of the sink must be locked onto that of the AAudio
stream.
2018-09-16 22:44:20 +02:00
Fredrik Fornwall
87d45e68a8 libpulseaudio: Build against api level 21
Building against later api levels causes problems such as

CANNOT LINK EXECUTABLE: could not load library "libpulse.so" [...];
caused by could not load library "libpulsecommon-12.2.so" needed by
"libpulse.so"; caused by cannot locate symbol "__register_atfork"
referenced by "libpulsecommon-12.2.so"...
2018-08-21 00:25:06 +02:00
Tom Yan
e1b5587e9c libpulseaudio: further cleanup in the sles sink
s32le output is also now allowed
2018-08-16 14:40:57 +02:00
Tom Yan
6f5cbc2154 libpulseaudio: add api level build hack for aaudio 2018-08-16 14:40:57 +02:00
Tom Yan
6b1d24adf0 libpulseaudio: add module-aaudio-sink
Add a sink module that makes use of the AAudio API, which is
available in Oreo or later.

The sink will have its sample rate and latency configured based on
the info we got with the API. They will also be updated accordingly
when the output device is changed.
2018-08-16 14:40:57 +02:00
Tom Yan
fbc0d7ee54 libpulseaudio/mpv: set numBuffers to 8 for SLES
Apparently some Android builds/forks need it for Bluetooth audio.
It's a hardcoded default in the upstream AAudio implementation
anyway.

See the following for reference:
https://android.googlesource.com/platform/frameworks/av/+/android-8.0.0_r1/media/libaaudio/src/legacy/AudioStreamTrack.cpp#109
https://android.googlesource.com/platform/frameworks/wilhelm/+/android-8.0.0_r1/src/android/AudioPlayer_to_android.cpp#1680
https://android.googlesource.com/platform/frameworks/av/+/android-8.0.0_r1/media/libaudioclient/AudioTrack.cpp#488
2018-08-07 12:17:32 +02:00
Tom Yan
b919a7a36a libpulseaudio: bump revision after changes 2018-08-06 21:50:41 +02:00
Tom Yan
22b9d1ac13 libpulseaudio: remove unnecessary LD_PRELOAD from wrappers 2018-08-06 21:50:41 +02:00
Tom Yan
527dfafcac libpulseaudio: ditch downstream defaults in daemon.conf
To start pulseaudio manually as a daemon, you just need "-D", but
if you set daemonize=yes in daemon.conf, when you want start it
undaemonized, you will need "--daemonize=no".

We don't really need to set enable-shm to no explicitly.

Setting exit-idle-time to -1 may not be as preferred as when it was
when autospawn did not work.

There's no point setting log-target to stderr. auto works fine (or
perhaps even better) for us.
2018-08-06 21:50:41 +02:00
Tom Yan
c380e354de libpulseaudio: fix autospawn
Autospawn needs to use the wrapper we made, otherwise the sles sink
module cannot be loaded.

Also patch caps.c to remove the silly warning that somehow ignores
log-level and log-target to avoid programs like cmus being ruined
when pulse is spawned.
2018-08-06 21:50:41 +02:00
Fredrik Fornwall
41859abf21 libpulseaudio: Bump revision after change 2018-07-31 21:22:50 +02:00
tomty89
6be3fd61e0 libpulseaudio: handle unlink properly (#2693)
Also clean up some more garbage.
2018-07-31 21:19:39 +02:00
Fredrik Fornwall
9a9582ffea libpulseaudio: Bump revision after changes 2018-07-26 12:22:53 +02:00
Tom Yan
8025f606e9 libpulseaudio: always use u for userdata 2018-07-26 11:47:20 +02:00
Tom Yan
9006223783 libpulseaudio: avoid some assertion failures due to race condition 2018-07-26 11:47:20 +02:00
Tom Yan
36c4ffb4bf libpulseaudio: make latency configurable 2018-07-26 11:47:20 +02:00
Tom Yan
83ba79c105 libpulseaudio: support suspend on idle
Turns out it's pretty easy to implement. Now the buffer queue will
stop requesting for data once the sink is suspended on idle. No
more power wasted.

Note that it is natural that there would be a bit of extra delay
when resume playback after the sink is suspended. In case it is
wanted to be avoided, make sure the module-suspend-on-idle is not
loaded.
2018-07-26 11:47:20 +02:00
Tom Yan
6144f8653f libpulseaudio: fix distortions occur with multiple sink inputs 2018-07-26 11:47:20 +02:00
Tom Yan
fd69382e37 libpulseaudio: rewrite sles sink
This should work way better than the old code, as it makes use of
the buffer queue callback to do Enqueue(), which might be the only
nice/right way to use OpenSLES on Android. CPU usage is low and
RAM usage seems reasonable. No memory leak noticed. Tested with
mpv on my Oreo phone (wired and Bluetooth).

The latency was chosen base on Bluetooth audio requirement on Oreo.
Shouldn't be hard to make it configurable as a module param in the
future.

The new code has a known downside though, that is it doesn't really
support sink suspension, as in, silence will kept being written
to the audio device even when the sink is suspended, which may have
certain impact to battery time.

It's probably possible to catch the state change of the sink and
notify the buffer queue about it. It's just I don't want to bother
digging further at the moment.
2018-07-26 11:47:20 +02:00
Fredrik Fornwall
1c4195d5d3 libpulseaudio: Update from 12.1 to 12.2 2018-07-23 00:21:12 +02:00
Fredrik Fornwall
4c51d6bcb9 pulseaudio: Update from 12.0 to 12.1 2018-07-15 17:20:11 +02:00
Henrik Grimler
5579a04be4 libpulseaudio: use TERMUX_PKG_VERSION in LD_PRELOAD
Otherwise it might be easily forgotten at pkg bump.
2018-07-01 16:52:50 +02:00
Fredrik Fornwall
76482d7bf7 libpulseaudio: Build with --disable-gsettings 2018-06-21 23:33:11 +02:00
Fredrik Fornwall
09b12bba65 libpulseaudio: Update from 11.1 to 12.0 2018-06-21 22:31:58 +02:00
Vishal Biswas
160d3aeb06 update ndk to 17 and switch some packages to clang build (#2415)
* update ndk to 17

* bump NDK version in setup-android script

* libnl: fix for ndk r17

* libpixman: use clang's __builtin_shufflevector instead of __builtin_shuffle (#1)

Required to make package build with ndk17.

* fix as for arm

* ndk17 still uses ld.bfd on aarch64

* use -fno-integrated-as for clang only

* glib: remove patch unnecessary after ndk17

* torsocks: remove unneeded patch after ndk17

* subversion: fix build as clang++ now errors out for mismatched flags

* libpulseaudio: fix build with ndk17

https://github.com/termux/termux-packages/pull/2415#issuecomment-388296684

* gst-plugins-good: disable video4linux2

ioctl is defined as __overloadable in ndk17 headers which
  conflicts with v4l2object's member ioctl

* libzmq: disable Werror to build with ndk17

* ltrace: hardcode symbol not available in ndk17

* busybox: build with clang for all arches except arm

* dropbear: build with clang instead of gcc

* gnupg: build with clang instead of gcc

* openssl: use clang for all arches except arm

* picolisp: build with clang instead of gcc

* valgrind: use clang on all arches except aarch64

* Revert "gst-plugins-good: disable video4linux2"

This reverts commit 43850b81ccf60033c25cb13dfd326c1b0528773a.
Already applied on base branch.

* libllvm: use default arm triple
2018-05-27 14:55:20 +02:00
its-pointless
2e68ba7f34 pulse segfault fixed and changed default config (#2044) 2018-02-01 22:24:34 +01:00
its-pointless
1218ccc6c1 updated sles module 2018-01-16 14:15:04 +01:00
its-pointless
ffdcb8fc0e opensles output for libpulseaudio from @twaik (#1968) 2017-12-29 00:52:17 +01:00
Henrik Grimler
8356728c7b libpulseaudio: tidy up extra_configure_args while we're at it 2017-11-12 20:41:49 +01:00
Henrik Grimler
3df3439afe libpulseaudio: fix "shared memfd open() failed: Function not implemented"
error.

Occured on arm. Rebuilding the package wasn't enough.
2017-11-12 20:41:49 +01:00
Fredrik Fornwall
9f74bac671 libpulseaudio: Update from 10.0 to 11.1 2017-10-15 01:02:39 +02:00
Stephen
7dcd2fdc5f add libtool to libpulseaudio build depends
#1169
2017-09-14 22:55:02 +02:00
Henrik Grimler
4522d4b6ff libpulseaudio: link against libandroid-glob. (#1094)
Fixes issue discussed in #821 and at https://github.com/cmus/cmus/issues/688.
2017-06-20 01:35:56 +02:00
Fredrik Fornwall
2447023489 Remove world readable&writeable&executable perms
We do not want anything world readable, writeable or executable.

Fixes #840.
2017-04-17 22:23:21 +02:00
Alain Kalker
a680abcbdf alsa-{lib,utils,plugins} and pulseaudio packages (#825)
* New package: libsndfile-1.0.27

* Bring back disabled package alsa-lib

* Bring back disabled package alsa-utils

* New disabled package: alsa-plugins-1.1.1

* New package: libpulseaudio-10.0, subpackage pulseaudio
2017-03-13 22:51:36 +01:00