Commit graph

1318 commits

Author SHA1 Message Date
Wim Taymans
8bf0b7b4db a2dp: delay codec init to after acquire
Some codecs need the MTU as a parameter so wait until we acquire
with creating the codec context.

Make some method to enumerate the parameters from the transport
config and use that for the EnumFormat param.
2020-12-03 18:05:57 +01:00
Wim Taymans
67694a1491 a2dp-ldac: free handle on error 2020-12-03 11:18:27 +01:00
Wim Taymans
908e3f3d1f bluez5: only register available A2DP encoder/decoder 2020-12-03 11:09:13 +01:00
Wim Taymans
dd8573a5c2 bluez5: add ldac codec 2020-12-03 10:16:14 +01:00
Wim Taymans
3363544d05 bluez5: use start_decode to skip the header 2020-12-02 17:01:22 +01:00
Wim Taymans
57886c1198 spa: add audio.position support in null sink 2020-12-02 12:59:50 +01:00
Wim Taymans
4c486c7ae3 spa: remove media.class from null-audio-sink
We can use it with othe media.class values as well
2020-12-02 11:47:08 +01:00
Wim Taymans
73e0bb255a props: add container property to PROP_INFO
So we can mark a property should be inside a container.
Use this info in pw_stream to construct properties.
2020-12-01 12:58:18 +01:00
Wim Taymans
d098c2ba86 acp: add option to disable hardware mixer
See #426
2020-12-01 10:43:39 +01:00
Wim Taymans
75a4cff450 improve debug 2020-11-29 16:38:36 +01:00
Wim Taymans
b8300c663b improve some errors
Silence some -ENOENT warnings, they can happen when the object we
are introspecting is destroyed
2020-11-29 16:22:50 +01:00
Wim Taymans
a417ffcd38 alsa: add timerfd based playback example 2020-11-27 10:30:54 +01:00
Wim Taymans
119678e8d1 Revert "alsa: sync to latest acp"
This reverts commit f611e34456.

There is something wrong with this
2020-11-26 12:40:44 +01:00
Wim Taymans
f611e34456 alsa: sync to latest acp 2020-11-26 11:16:31 +01:00
Wim Taymans
4d62899375 acp: sync versions 2020-11-26 10:42:26 +01:00
Wim Taymans
d77c563ae8 null-audio-sink: return fixed values for rate/channels when set 2020-11-26 10:21:36 +01:00
Wim Taymans
ddfb310087 alsa-pcm: improve recover from suspended state debug 2020-11-26 09:24:57 +01:00
Wim Taymans
c3138a9bac spa: make null-sink rate and channels configurable 2020-11-25 21:05:21 +01:00
Wim Taymans
b055b9de25 alsa: Make sure we handle errors in close
When a device is removed, close() will error. Warn about this but
continue closing our other things including marking the device
as closed so that we don't try to close it again later.

Fixes #413
2020-11-25 12:37:51 +01:00
Wim Taymans
a482e2e6e2 libcamera: delete the camera on error
Fixes #403
2020-11-24 09:25:07 +01:00
Wim Taymans
95e2ec9f72 channelmix: always copy the target channelmap 2020-11-23 20:17:38 +01:00
Elliott Sales de Andrade
6224068586 Fix some possible leaks. 2020-11-23 15:36:08 +00:00
Wim Taymans
231c3c8b8e channelmix: add channelmap in properties 2020-11-23 15:33:11 +01:00
Wim Taymans
abaf63dfe6 acp: put channelmap in properties 2020-11-23 15:31:51 +01:00
Wim Taymans
af3f18b489 acp: add channel layout and map channels 2020-11-23 15:31:10 +01:00
Wim Taymans
04aa5472d3 journal: make it possible to set level from info 2020-11-18 17:42:47 +01:00
Wim Taymans
8c0f27c016 audioadapter: emit xrun when source can't produce data 2020-11-17 17:18:14 +01:00
Wim Taymans
79fb95bf90 stream: implement Flush
Flush out pending samples in the resampler
Set the io area status to _OK so that buffers are recycled and
new buffers produced.
2020-11-17 17:15:26 +01:00
Wim Taymans
573e2afd5e bluez5: fix compilation of fallback Hsphfpd backend 2020-11-16 20:27:55 +01:00
Frédéric Danis
6308c5d806 bluez5: backend-hsphfpd: Add mSBC support
mSBC can be enabled by passing "bluez5.msbc-support=true" parameter to
pipewire-media-session.
mSBC is automatically selected if remote device supports it.
2020-11-16 18:15:39 +01:00
Frédéric Danis
7d28b51713 bluez5: Add mSBC support to sco-source
This has been tested with a UART Bluetoth chipset, on a Raspberry Pi 3.
It may work with USB Bluetoot chipset/dongle.
2020-11-16 18:15:39 +01:00
Frédéric Danis
1759aa834f bluez5: Add mSBC support to sco-sink
This has been tested with a UART Bluetoth chipset, on a Raspberry Pi 3.
It doesn't seem to work with USB Bluetooth chipset/dongle.
2020-11-16 18:15:39 +01:00
Wim Taymans
0d9cc9e36e loop: always place the invoke item in the queue
Always place the invoke item in the queue and then either signal the
other thread or flush the queue when not already flushing.
2020-11-16 15:16:20 +01:00
Wim Taymans
b8b2ce6ba9 loop: always wake up blocking items
We should always wake up the blocking items if we scheduled the
item.
2020-11-13 16:50:23 +01:00
Wim Taymans
31216c09c4 bluez5: fix memleak 2020-11-09 16:48:44 +01:00
Wim Taymans
42dd52c7fe acp: clean up card object
Fixes #369
2020-11-09 15:01:07 +01:00
Sergey Bugaev
c101ff2057 support: add a journald logger implementation
Closes https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/358

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2020-11-06 15:51:24 +00:00
Wim Taymans
5a98a9b1cd alsa: reload alsa configuration
Fixes #332
2020-11-05 10:00:25 +01:00
Wim Taymans
17e3087397 bluez5: fix some whitespace and indent 2020-11-05 09:46:11 +01:00
Wim Taymans
395a30b5d6 a2dp: fix sign of out_decoded 2020-11-02 09:16:59 +01:00
Grzegorz Uriasz
c1530ba171 Use RegisterApplication in bluez5 for A2DP if possible 2020-11-02 09:14:37 +01:00
George Kiagiadakis
5c749cf7c3 alsa-acp: bind the acp log func to the spa_log object directly
When the acp-device impl struct is passed to the log func, it is
possible that when this device is removed, another device using acp
is going to crash while logging a message
2020-11-02 08:10:29 +00:00
Wim Taymans
0320eca79e pulse-server: add port_type and availability-group 2020-10-28 12:18:26 +01:00
Wim Taymans
8116da41b9 acp: use properties for port type and available group 2020-10-28 11:48:24 +01:00
Wim Taymans
6eaf8d6921 spa: remove property, we don't implement a getter 2020-10-28 10:51:08 +01:00
Wim Taymans
f3dda8e57b pulse: Use the right conversion functions for volumes
PulseAudio uses cubic volumes and PipeWire uses linear volumes
so use the right conversion functions from one to the other.
2020-10-22 19:34:47 +02:00
Jan Grulich
743cf58fb7 Define SPA_FALLTHROUGH to make fall-through annotations work for all compilers
This is needed for example for Clang compiler which uses different
annotations than GCC. It will make WebRTC to happily use PipeWire
since the spa library is header-only and WebRTC defaults to use
Clang with -Wimplicit-fallthrough.
2020-10-22 13:31:19 +02:00
Wim Taymans
c1ea63fa7a alsa-pcm: try to recover in all cases
Even if we can't get the current status, still try to recover the
device.

See #347
2020-10-22 09:16:45 +02:00
Frédéric Danis
48c64f9084 bluez5: backend-hsphfpd: Fix PCM agent name
The audio agent gets or provides data in the format requested between host
and chipset.
The HSP and HFP profile request PCM data to be sent to the chipset which
will encode/decode them in CVSD format.
This audio agent format may be re-used later for another air codec hw
encoded.
So, rename the audio agent to be more explicit.
2020-10-20 19:10:21 +00:00
Wim Taymans
77b91823f3 a2dp: mark a2dp-source as stream and autoconnect 2020-10-19 18:53:18 +02:00