Julian Bouzas
23788ee617
sco-sink: clean up and write data at a constant bitrate
...
Audio data received by HSP/HFP devices need to be sent at a constant
bitrate to achieve smooth playback
2020-07-17 15:13:03 +00:00
Julian Bouzas
551844c0ef
sco-source: initialize read mtu and read chunks of its size
...
The mtu value returned by the kernel seems to be incorrect, we use
the hardcoded value of 48 for now (like bluezalsa)
2020-07-17 15:13:03 +00:00
Wim Taymans
9b4b7d1a2c
evl: add include for spa_strerror
...
See #244
2020-07-14 14:19:26 +02:00
Wim Taymans
f28ca843a6
format: fix typo
2020-07-14 10:21:35 +02:00
Julian Bouzas
ba96eecba0
sco-source: clean up and support different buffer sizes
2020-07-13 12:05:01 -04:00
Julian Bouzas
f743fff694
sco-source: add RateMatch IO
2020-07-13 12:04:56 -04:00
Wim Taymans
a459c1f226
acp: sync with master
2020-07-13 14:39:27 +02:00
Wim Taymans
ee59bcd632
acp: emit volume/mute changes on change
2020-07-08 17:24:23 +02:00
Wim Taymans
b896d65723
acp: emit param change when port changed
2020-07-08 16:16:43 +02:00
Julian Bouzas
2ae4322cca
a2dpsource: fill the buffer as much as possible
...
Fills the buffer until the buffer data size is maxsize / frame_size
2020-07-07 15:34:57 +00:00
Julian Bouzas
60eb8dae87
a2dpsource: add RateMatch IO
2020-07-07 15:34:57 +00:00
Frédéric Danis
e17688a43b
Fix missing headers check
...
Current Gillab CI fails with:
$ ./check_missing_headers.sh
spa/monitor/event.h not installed
2020-07-07 17:33:57 +02:00
Wim Taymans
e030445e49
acp: add volume base and step
...
Add a READONLY property flag to makr properties READONLY
Set the base_volume and volume_step in the acp device
Send the base volume and step as REAONLY properties. Use these
in pulse layer.
2020-07-07 13:12:57 +02:00
Wim Taymans
cf8db93cd4
pod: add HARDWARE flag to spa_pod_prop
...
Add HARDWARE flag to mark a property that does some hardware control.
Mark the device volume/mute property as HARDWARE or not.
Use the HARDWARE property in pulse to set the right flags.
2020-07-06 17:46:32 +02:00
Wim Taymans
b9d412e618
monitor: add device event
...
Add device events and signal soft volume with an object config
event.
2020-07-06 17:25:05 +02:00
Wim Taymans
d80d593271
acp: add support for soft volume
...
Add a set_soft_volume/mute event.
If we can't configure the hardware volume completely, notify
the remainder with the soft_volume/mute events.
2020-07-06 17:22:42 +02:00
Wim Taymans
ea6dfe204c
acp: don't install library for now
2020-07-06 12:58:33 +02:00
Wim Taymans
1612f5e4d2
alsa-acp: Add libacp based card device
...
libacp is a port and wrapper around the pulseaudio card profile code.
It uses a set of templates for construct a card profile and mixer port
settings. It also has support for UCM when available for the hardware.
2020-07-06 12:20:09 +02:00
Wim Taymans
8ad769b943
bluez: improve profile description
2020-07-03 16:25:46 +02:00
Wim Taymans
49332eb30f
bluez5: handle suspend
2020-07-03 16:23:17 +02:00
Wim Taymans
7778f8d70e
bluez5: remove devices correctly
...
Remember how many devices we emited for the current profile and
remove them all when we switch profile.
2020-07-03 16:12:19 +02:00
Wim Taymans
7b129c1020
sco: remove transport hooks on destroy
2020-07-03 16:10:46 +02:00
Wim Taymans
357868eeb5
a2dp: remove transport hooks on destroy
2020-07-03 16:08:53 +02:00
Wim Taymans
1091d2eaf1
bluez5: improve profile enumeration
2020-07-03 12:14:00 +02:00
Frédéric Danis
0b970ec965
bluez: Update BT profiles
...
Only provide high-level A2DP and HSP/HFP profiles in pw.
Expose nodes based on pw profiles and BT profiles available on remote
device.
2020-07-03 11:53:52 +02:00
Wim Taymans
a520335581
fmt-ops: add sse2 version of f32 to s16 planar/interleaved
2020-07-03 11:05:26 +02:00
Wim Taymans
5295caf0f3
examples: dlclose on some errors
2020-07-02 16:07:54 +02:00
Wim Taymans
3695488241
spa: remove wrong comment
2020-07-01 15:27:55 +02:00
Wim Taymans
698509ef55
alsa: set classes in the profile
...
parse classes in the pulse layer
2020-07-01 13:39:10 +02:00
Wim Taymans
1ee8944a2a
alsa: improve debug
2020-07-01 13:16:37 +02:00
Wim Taymans
8168dfdbc1
alsa-pcm: allow setting number of channels
...
Allow passing the number of channels when creating a device to
restrict the negotiated channels.
2020-07-01 12:54:27 +02:00
Wim Taymans
267eabaf69
alsa: add default channel map when not given
2020-07-01 12:46:03 +02:00
Wim Taymans
f65d71dd5b
alsa: support planar formats
2020-07-01 11:43:25 +02:00
Wim Taymans
6e03b4005d
increase amount of datas in a buffer
2020-07-01 11:43:22 +02:00
Wim Taymans
ef0e5ee09e
param: rename properties, use info for key/value info
...
Add props field for configurable route properties (like volumue/mute)
2020-06-27 20:04:05 +02:00
Frédéric Danis
41d7ccc336
a2dpsink: Process right amount of data with sbc_encode
...
sbc_encode() can only process data with at least this->codesize bytes.
When encode_buffer() is called with less then codesize bytes, accumulate
those bytes in a temporary buffer up to codesize length, then SBC encode
them.
Maximum size for SBC buffer is (subbands * blocks * channels * 2) with max
subbands = 8, max blocks = 16, max channels = 2, i.e. 512.
Fixes !277
2020-06-27 13:03:24 +02:00
Wim Taymans
2e914ac10e
param: add properties to route and profile
2020-06-26 11:42:34 +02:00
Wim Taymans
43d0aa49c1
Route: add more fields
2020-06-24 19:37:50 +02:00
Wim Taymans
d22beb4d05
param: add classes to the PROFILE param
...
classes is an enumeration of class-name/count pairs to enumerate
the kinds of classes and count that are created from this profile.
2020-06-24 19:37:45 +02:00
Wim Taymans
cab833ade7
profiler: add docs for the param contents
2020-06-24 19:37:37 +02:00
Wim Taymans
0f7a488d61
param: add available to Profile params
2020-06-24 19:37:27 +02:00
Wim Taymans
35bb7d794b
dlclose on errors
2020-06-23 15:25:45 +02:00
Wim Taymans
f08c35259c
avoid uninitialized variables
2020-06-23 15:25:27 +02:00
Wim Taymans
4be29c1124
resample: load more data on aarch64 because we can
2020-06-19 11:47:57 +02:00
Wim Taymans
67b692396b
v4l2: remove format checks
...
When a caller sets a format, we do this regardless of the currently
configured format.
2020-06-18 18:26:00 +02:00
Wim Taymans
6e74edc14e
v4l2: always stop and clear buffer when setting a format
...
The caller frees the buffers after setting a new format.
2020-06-18 18:23:36 +02:00
Julian Bouzas
1f1386879b
a2dpsink: only request new data when buffer is done
2020-06-18 08:02:50 +00:00
Simon McVittie
b852b58f82
Optionally install examples and tests
...
This makes it easier to test PipeWire in its "as-installed" state,
for example in an OS distribution.
The .test metadata files in ${datadir}/installed-tests/${package} are
a convention taken from GNOME's installed-tests initiative, allowing a
generic test-runner like gnome-desktop-testing to discover and run tests
in an automatic way.
The installation path ${libexecdir}/installed-tests/${package} is also
a convention borrowed from GNOME's installed-tests initiative.
In addition to the automated tests, I've installed example executables
in the same place, for manual testing. They could be separated into
a different directory if desired, but they seem like they have more
similarities with the automated tests than differences: both are there
to test that PipeWire works correctly, and neither should be relied on
for production use. Some examples are installed in deeper subdirectories
to avoid name clashes.
Signed-off-by: Simon McVittie <smcv@debian.org>
2020-06-16 17:58:02 +00:00
Simon McVittie
8b97d2ae74
spa examples: Load plugins from SPA_PLUGIN_DIR or installed path
...
This lets them be used installed or uninstalled, like pipewire itself.
Signed-off-by: Simon McVittie <smcv@debian.org>
2020-06-16 17:58:02 +00:00
raghu447
cecbe8ff17
libcamera: cleanup build warnings
2020-06-16 17:53:54 +00:00