Wim Taymans
c446dfb1d6
resample: improve debug
2020-04-12 20:46:59 +02:00
Wim Taymans
bfefd76055
stream: only call process when we have a dequeued buffer
2020-04-12 20:46:14 +02:00
Wim Taymans
2bb2e50eef
audioadapter: stop when the follower needs data
2020-04-12 20:44:56 +02:00
Wim Taymans
c1f3593ef0
audioadapter: small cleanup
2020-04-12 20:44:19 +02:00
Wim Taymans
b18dacde9a
spa: improve draining
...
Make a new DRAINED status.
Place the DRAINED status on an input IO when a stream is out of
buffers and draining.
All nodes that don't have HAVE_DATA on the input io need to copy
it to the output io and return the status. This makes sure the
DRAINED is forwarded and nodes return DRAINED from _process()
DRAINED on the resampler flushes out the last queued samples and then
forwards the DRAINED in the next iteration.
Emit a new drained signal from the context when a node returns
DRAINED. Use this to trigger the drained signal in the stream.
2020-04-07 17:58:43 +02:00
Wim Taymans
029f431418
alsa: implement drain function
...
Implement a drain function that blocks and waits for the drain to
complete.
2020-04-07 17:48:28 +02:00
Wim Taymans
70f5abfe35
alsa: report error from server when we can
2020-04-07 17:38:39 +02:00
Wim Taymans
fdb5911e86
resample: use a 0 sized buffer to drain
2020-04-06 18:01:38 +02:00
Wim Taymans
7febf7ea25
improve debug
2020-04-06 18:01:19 +02:00
Wim Taymans
c658574c01
alsa: improve drain
2020-04-06 17:53:46 +02:00
Wim Taymans
7927a66fdd
tools: improve error reporting
2020-04-04 20:23:42 +02:00
Wim Taymans
95906ca52e
audioconvert: fix compilation
2020-04-04 20:03:11 +02:00
Wim Taymans
a5b0553328
Fix some -Wenum-conversion errors
...
Make pw_direction and spa_direction the same
Explicitly cast some enums or use the right enums
2020-04-04 20:03:08 +02:00
Wim Taymans
6937ec5e63
audioconvert: compile c version with right flags
2020-04-03 18:12:04 +02:00
Wim Taymans
28b0da626e
Add missing file
2020-04-03 18:05:29 +02:00
Wim Taymans
0d1cef6b3a
audioconvert: move some things around
...
To make it easier to add other implementations later.
Improve selection of resampler function
2020-04-03 18:03:42 +02:00
Wim Taymans
bf3ebb67aa
neon: add alignment hints
2020-04-03 14:26:02 +02:00
Wim Taymans
167460a9bc
fmt-ops: add arm32 optimizations
2020-04-03 14:09:46 +02:00
Wim Taymans
a81e269a7e
neon: fix neon detection and compilation
2020-04-03 13:30:08 +02:00
Wim Taymans
ab3a6d3441
Fix some compiler warnings on arm
2020-04-03 13:18:02 +02:00
Wim Taymans
df5721ff47
neon: fix taps arguments
2020-04-03 10:31:55 +02:00
Wim Taymans
a87337cae8
neon: fix fallback
2020-04-03 10:22:58 +02:00
Wim Taymans
22e590c7cc
stream: somewhat implement drain better
...
Abuse the xrun callback in the adapter to emit the drained signal until
almost all data left the resampler. This needs more work with a proper
signal and a buffer flag to signal the drain.
2020-04-02 17:46:50 +02:00
Wim Taymans
ce39c6200d
node: add comment
2020-04-02 17:44:03 +02:00
Wim Taymans
1b3aaba206
fmt-ops: set the right flags on optimized functions
...
Or else we could select an avx2 version on a non-capable CPU.
Fixes #227
2020-04-02 17:34:47 +02:00
Wim Taymans
02dc407752
node: improve debug of activation area
2020-04-02 15:43:36 +02:00
Wim Taymans
c5be7642a3
context: don't recalculate graph for exported nodes
...
Exported nodes are managed by the remote end so we don't have to.
2020-04-02 15:42:21 +02:00
Wim Taymans
d1091462ab
transport: init io_buffers with SPA_IO_BUFFERS_INIT
2020-04-02 15:36:56 +02:00
Wim Taymans
74ab04af26
client-node: use BUFFER_INIT to reset io_buffers
2020-04-02 15:31:58 +02:00
Wim Taymans
c8f435ec41
pulse: also disconnect when we unlink the context
2020-04-02 15:31:20 +02:00
Wim Taymans
f51ba55dae
pulse: avoid emiting the NEW event too soon
...
Let the NEW event be emited when all params are updated.
2020-04-02 15:30:15 +02:00
Wim Taymans
4346cad322
pulse: improve debug of events
2020-04-02 15:28:24 +02:00
Wim Taymans
c20100eabb
media-session: Add method to destroy a global
...
Destroy the stream when it is disconnected and it was marked as
DONT_RECONNECT.
2020-04-02 15:27:23 +02:00
Wim Taymans
a86f70c13d
protocol-native: avoid destroying NULL source
...
The source might have been destroyed before.
2020-04-02 15:25:13 +02:00
Wim Taymans
b87c0a9270
clean up options
...
make sure we can use -v for verbose mode
2020-04-02 14:34:02 +02:00
Wim Taymans
1fd5be7101
neon: fix resample interpolation
2020-04-01 13:07:52 +02:00
Wim Taymans
558a1f0bb2
filter: ENOSPC is the error when we can't deref
2020-04-01 12:56:17 +02:00
Wim Taymans
7a29c15628
enable more warnings
...
Fix some warnings
2020-04-01 12:51:42 +02:00
Wim Taymans
edd019d539
defs: add SPA_UNUSED
2020-04-01 12:45:11 +02:00
Wim Taymans
de22ca68da
filter: return the newly filtered object
...
Always take the state of the builder to get the newly filtered
object, even in the case there is no filter.
Handle the case where we can't copy the pod in the case of
a NULL filter by reverting the state of the builder.
Rework the function a bit to make it possible to pass a NULL
result (to calculate the required size, for example)
Fixes #226
2020-04-01 12:44:31 +02:00
Wim Taymans
74665de68e
alsa-seq: keep track of last port
...
Keep track of the last port and only iterate until that port.
2020-03-31 17:52:22 +02:00
Wim Taymans
b3bddb853f
context: improve debug of quantum
2020-03-31 13:54:11 +02:00
Gleb Popov
b552863ec9
Don't include alloca.h on FreeBSD.
2020-03-31 12:16:45 +02:00
Wim Taymans
e6675ff2a8
alsa-seq: unsubscribe when paused/suspended
...
When we are suspended or paused, unsubscribe from the ports so that
we don't block the hardware devices.
See #225
2020-03-31 12:14:52 +02:00
Wim Taymans
9b24a84ce6
fmt-ops: fix copy/paste error
2020-03-30 11:02:13 -04:00
Wim Taymans
527dc89365
fmt-ops: add neon optimizations for format conversion
2020-03-30 10:59:21 -04:00
Wim Taymans
afb93eb6ea
conf: add comment
2020-03-30 15:27:54 +02:00
Wim Taymans
2b7f01f5af
media-session: add getopt support
...
Add options to media-session
Add an option to enable or disable modules
Add an option to set properties for later use
2020-03-30 14:09:44 +02:00
George Kiagiadakis
e00c0ffd2d
tests: add endpoint unit test
...
This tests exporting a PW_TYPE_INTERFACE_Endpoint and binding
a proxy for it through the registry, verifying that info and params
are propagated properly from one to the other
2020-03-27 14:56:07 +00:00
George Kiagiadakis
e918d60959
session-manager: implement factories for session, endpoint-stream & endpoint-link
...
Heavily based on the endpoint factory
2020-03-27 14:56:07 +00:00