Wim Taymans
453e75a23e
improve some debug
2019-07-15 17:09:44 +02:00
Wim Taymans
93006d6d90
resample-native: only do full resample when rate == 1.0
...
Otherwise choose the interpollating resampler.
2019-07-15 17:06:07 +02:00
Wim Taymans
80face4b92
audioadapter: handle set_io errors better
2019-07-15 17:05:13 +02:00
Wim Taymans
fec2915b75
adapter: allow factory.mode to be set with property
2019-07-12 15:11:03 +02:00
Wim Taymans
4aa1ef9bf1
audio-dsp: Allow merger.monitor to be set with property
...
Only set the factory.mode when not already set.
2019-07-12 15:08:52 +02:00
Julian Bouzas
ea6ff81d4f
audio-dsp: allow mode to be set with a property
2019-07-12 15:00:13 +02:00
Wim Taymans
10426790b0
audioconvert: clear buffer allocation state as well
2019-07-12 14:36:49 +02:00
George Kiagiadakis
129ccd3a3e
audioconvert: do setup internal links and buffers also in convert mode
2019-07-12 14:30:31 +02:00
Wim Taymans
6fc02ca5e0
move some debug to trace
2019-07-12 10:26:44 +02:00
Wim Taymans
3745f79fc5
media-session: create a local adaper+a2dp sink/source
...
Run the a2dp sink and sources with the adapter in the session manager
and export it to PipeWire. The idea is that the codecs should not
preferably not run inside the daemon.
2019-07-12 10:04:26 +02:00
Wim Taymans
57d471b6f4
remote-node: implement set_param and port_set_io
...
Implement set_param, just call the node implementation
Always call port_set_io on the mixer port.
2019-07-12 09:58:56 +02:00
Wim Taymans
5385bb5674
adapter: make the factory work without a resource
...
Free the slave when the adapter is destroyed.
2019-07-12 09:58:11 +02:00
Wim Taymans
356f1242be
a2dp: pull more data when needed
...
When we still have a buffer but it does not have enough data to encode a
frame, ask for more buffers.
2019-07-12 09:55:55 +02:00
Wim Taymans
01e56c45ac
node-factory: destroy node when resource is destroyed
2019-07-12 09:54:32 +02:00
Wim Taymans
6655e09502
node: only update driver_list when registered
2019-07-12 09:53:43 +02:00
Wim Taymans
1acefc00a6
audioadapter: implement reuse_buffer on the slave
2019-07-12 09:51:49 +02:00
Wim Taymans
5334cecf51
node: return ENOTSUP for unimplemented callbacks
2019-07-12 09:51:08 +02:00
Wim Taymans
0e765de519
props: remove pointers in property values in protocol
...
Mark pointers in property values with pointer: and remove them
when sending the properties over the wire to avoid errors.
2019-07-11 12:52:55 +02:00
Wim Taymans
f8127943cd
pulse: update
2019-07-11 11:29:35 +02:00
Wim Taymans
00c2f6fe4f
adapter: produce output when we have a monitor
2019-07-11 11:28:26 +02:00
Wim Taymans
6f672c883e
node: always call output mix when HAVE_BUFFER
2019-07-11 11:20:04 +02:00
Wim Taymans
a6ce5e7eeb
merger: respect DYNAMIC_DATA flag when copy pointers
2019-07-11 11:19:09 +02:00
Wim Taymans
afd6e578a8
audioadapter: we don't need to clear the dynamic flag
2019-07-11 11:15:47 +02:00
Wim Taymans
a9bce3803a
cleanups and debug improvements
2019-07-11 11:15:24 +02:00
Wim Taymans
a9cb74f908
alsa: don't clear io area ever
2019-07-11 11:13:53 +02:00
Wim Taymans
d7098d6a4c
session: handle monitor in the session
...
Load the monitor in the session manager.
Export devices to pipewire.
Create nodes or a device in an adapter.
2019-07-10 20:24:11 +02:00
Wim Taymans
1c0bf4266c
adapter: fix alias
2019-07-10 19:45:22 +02:00
Wim Taymans
a07fb58a21
adapter: set driver property
...
Pass the node.driver property from the slave to the adapter.
Set the media-class on the adapter.
2019-07-10 19:18:53 +02:00
Wim Taymans
9364f64b10
adapter: move to SPA plugin
...
Move the adapter code to a SPA plugin and make the adapter module
use the plugin instead.
2019-07-10 18:04:59 +02:00
Wim Taymans
7f885b6db4
add SPA_SENTINEL
2019-07-09 21:19:53 +02:00
Wim Taymans
c7d7058896
Improve rate matching and clock slaving
...
Use a new rate_match io area to exhange rate matching info between
sink/source and resampler.
Compensate for the rate match delay when scheduling timeouts.
Let the resampler notify the source of how many samples it needs to
produce the desired quantum. Make sure we keep an extra buffer in
the device to be able to make this possible.
Let the adapter directly call the slave node process function.
2019-07-09 17:44:07 +02:00
Wim Taymans
595dc0ab5b
resample: fix phase calculation
2019-07-09 16:54:52 +02:00
Wim Taymans
a3c0bb0e9a
module: fix cleanup on error
2019-07-09 16:53:31 +02:00
Wim Taymans
a6a7b3ab54
resample: add functions to calculate in/out length
...
Add test for this as well
2019-07-08 18:26:08 +02:00
Wim Taymans
0154e6eaac
small cleanups
...
resample: remove unused index variable
2019-07-08 18:23:22 +02:00
Wim Taymans
98d10bbd1f
adapter: use slave as filter for adapter
...
This makes the converter choose the final param and not the
slave, which makes more sense.
2019-07-03 11:06:12 +02:00
Wim Taymans
cb6b8e0d17
adapter: setup control and notify
2019-07-03 11:00:55 +02:00
Wim Taymans
94e7be1845
media-session: use adapter around sink
...
Don't use the DSP nodes anymore, use the adapter instead and wrap
it around a sink/source.
2019-07-02 17:39:04 +02:00
Wim Taymans
aba81455ff
adapter: add adapter node
...
An adapter is like an audio-dsp node and client-stream combined.
It allows tighter control with the device (for rate control and
variable buffer sizes), software volume.
The idea is to also implement the client-stream with this
eventually.
2019-07-02 17:34:26 +02:00
Wim Taymans
0726a608df
Improve debug and small cleanups
2019-07-02 17:11:45 +02:00
Wim Taymans
170c3e4d6c
small cleanups
2019-07-01 09:31:15 +02:00
Wim Taymans
5833b7b2a7
client: remove recursive permissions checks
...
Don't let permissions of an object influence the child permissions,
this is not so easy to manage and needs some more thought.
The result is now that it's possible to see a reference to a (parent)
id that is not visible, but that's ok.
2019-06-28 12:18:10 +02:00
Wim Taymans
57879cc801
cli: improve help message
2019-06-28 09:35:36 +02:00
Wim Taymans
428e743116
core: emit info when not binding resource 0
2019-06-28 09:35:11 +02:00
Wim Taymans
bee88e5279
v4l2: handle and recover from control failure
...
When we fail to construct the labels of a control, reset and
continue without labels.
2019-06-26 07:23:34 -04:00
Wim Taymans
891c5fd79d
builder: make _rewind part of _reset()
...
_reset() should also rewind the work that has been done. We don't
need _rewind() anymore then.
2019-06-26 12:45:36 +02:00
Wim Taymans
350e8051a7
builder: add _rewind method
...
Add a rewind method to undoes the data of a frame.
Add unit test for overflow and rewind
2019-06-26 12:17:01 +02:00
Wim Taymans
15b6c7ef7e
v4l2: warn when control fails
2019-06-26 06:13:25 -04:00
Wim Taymans
f19ca292e8
builder: take size of the frame
...
spa_pod_builder_frame() should return the position in the builder
memory or NULL when the frame doesn't fit. Check the size of the
frame instead of assuming the frame is already written to the
buffer.
2019-06-26 05:21:37 -04:00
Wim Taymans
bb60708ccc
pod: _builder_deref() always works with builder size
2019-06-26 05:16:44 -04:00