Julian Bouzas
f75dfde89c
remote-node: process the mixer if io status have HAVE_DATA flag
...
Needed for audio sources created locally
2020-07-06 12:08:27 -04: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
8e6b276d51
alsa-monitor: parse device events
...
Parse the device events and set the Props from the ObjectConfig
as the Props param on the node.
This propagates the software volume from the device to the
node.
2020-07-06 17:26:01 +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
4db6e0e2b3
client-device: fix event marshall
2020-07-06 17:13:50 +02:00
Wim Taymans
ea6dfe204c
acp: don't install library for now
2020-07-06 12:58:33 +02:00
Wim Taymans
0bbc25e3e2
media-session: add option to enable acp device
2020-07-06 12:51:38 +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
5c6247daef
internal: improve assert
...
Pulse just logs to the debug log for a return_val_if_fail
2020-07-03 17:32:20 +02:00
Wim Taymans
c28ca320d1
Fix bluez node destroy
...
We create a ClientNode but monitor the resulting Node.
Destroy the object when removing a node.
2020-07-03 16:28:10 +02:00
Wim Taymans
8ad769b943
bluez: improve profile description
2020-07-03 16:25:46 +02:00
Wim Taymans
471c1a071c
policy: improve debug
2020-07-03 16:25:28 +02:00
Wim Taymans
a607174033
node: Pause when Suspend is not implemented
2020-07-03 16:24:55 +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
1e2ad41d94
remote-node: fix user_data
...
Pass the node_data around instead of the proxy. Get the proxy from
the node data.
Allocate user_data before the node_data so that the caller can
use the proxy user_data without overwriting the node_data.
2020-07-03 15:19:40 +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
21fc163c49
stream: fix some more leaks in error paths
2020-07-02 16:22:49 +02:00
Wim Taymans
5295caf0f3
examples: dlclose on some errors
2020-07-02 16:07:54 +02:00
Wim Taymans
e11d35107f
alsa: don't leak properties on error
2020-07-02 15:53:16 +02:00
Wim Taymans
ac54b7ace1
alsa: don't leak structure on error
2020-07-02 15:52:50 +02:00
Wim Taymans
f353042460
client: send an error to all bound resources
...
When we need to send an error to a global, send the error to
all resources bound to that global. This can also be resources
that implement the global (like client-node)
2020-07-02 15:39:23 +02:00
Wim Taymans
d3ab5bc3b8
stream: only unconnect when core unconnects
...
Ignore all other core errors, only make the stream unconnected
when the core is unconnected.
2020-07-02 15:39:15 +02:00
Wim Taymans
82a83afd6b
policy: activate Unknown stream media type
...
And try to link them using the media.type property
2020-07-02 15:39:11 +02:00
Wim Taymans
9eb9fe4fbe
stream: handle missing EnumFormat params
...
When we don't have an EnumFormat param, don't fail but fall back to
the MEDIA_TYPE property to calculate the media class.
Fixes things like:
gst-launch-1.0 -v pipewiresrc stream-properties="props,media.type=Video" ! fakesink
2020-07-02 12:56:26 +02:00
Wim Taymans
fc49c1697a
context: improve negotiation
...
When a port doesn't implement the EnumFormat param, use NULL as
the filter or the filter as the result.
2020-07-02 12:55:39 +02:00
Wim Taymans
591244c53e
module-device: remove useless assign
2020-07-02 10:58:35 +02:00
Wim Taymans
3df8139f4e
spa-node: unload handle in failure case
2020-07-02 10:57:10 +02:00
Wim Taymans
d871adbd4d
spa-device: fix leak of properties in error case
2020-07-02 10:52:15 +02:00
Wim Taymans
d3748ef254
introspect: fix default source/sink
2020-07-01 15:38:42 +02:00
Wim Taymans
f30a8f6895
context: fix context_id, use the client bound id
2020-07-01 15:38:36 +02:00
Wim Taymans
813e2d22a6
context: fix sorted insert
2020-07-01 15:38:29 +02:00
Wim Taymans
34775b7577
context: use different variable to avoid confusion
2020-07-01 15:38:24 +02:00
Wim Taymans
f126501f83
context: don't enum profile/route when one is pending
2020-07-01 15:38:17 +02:00
Wim Taymans
dc7868a476
pulse: control volume on device or node
...
Send the mute and volume values in the route param when hw volume
is available.
Check if the route has volume/mute and then use that to control the
volume instead of them node volume.
2020-07-01 15:36:50 +02:00
Wim Taymans
9ad2732405
pulse: handle volume and mute with the Route params
...
Update the device volume with properties from the Route param is
available.
Rework pulse a little to make sure we have all the globals ready
before performing the operation.
Update the volume/mute in the device route
2020-07-01 15:31:19 +02:00
Wim Taymans
3695488241
spa: remove wrong comment
2020-07-01 15:27:55 +02:00
Wim Taymans
4d7d9484e6
pulse: use route param to set current active ports
2020-07-01 15:24:50 +02:00
Wim Taymans
2bffb3561f
pulse: handle error from volume set
2020-07-01 15:20:32 +02:00
Wim Taymans
ebd8695345
pulse: use route param to get/set current active routes
2020-07-01 14:02:59 +02:00
Wim Taymans
1277e6cded
context: update the Profiles and Routes in the card
...
Update the Profile and Route information directly into the card
info. Use this info to fill the port info for the sink and sources.
2020-07-01 13:57:14 +02:00
Wim Taymans
42cc30e1ee
pulse: use EnumRoute to collect and report port info
2020-07-01 13:52:25 +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
03cef06dd2
pulse: improve introspect of profile availability
2020-07-01 13:27:20 +02:00
Wim Taymans
f79f0de681
introspect: improve card info
2020-07-01 13:24:57 +02:00