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
George Kiagiadakis
444d180218
session-manager: endpoint: implement caching info & params
...
The info structure needs to be cached because there is no way to
request it from the implementation, unless we hack the add_listener
API to be used for making info requests or add a new method that
will be used just in the implementation (both are bad ideas).
The params are cached because
1) a client doing enum_params + sync will not work correctly, since
the sync call syncs with the server and not the implementation...
we could block the client to solve that, but then there is also #2
2) the implementation is not aware of the clients and therefore
it cannot keep track of who is subscribed and who is not, this
needs to happen in the server. Then if we only keep track of the
subscriptions in the server and keep requesting params from the
impl, there is no way to know if a param event coming from the
impl matches a call to enum_params or to subscribe or if it's
just an update that needs to be forwarded to subscribers.
2020-03-27 14:56:07 +00:00
George Kiagiadakis
74718d6def
session-manager: add update/free functions for the info structures
2020-03-27 14:56:07 +00:00
George Kiagiadakis
df66edd9ab
session-manager: implement 'endpoint' factory
...
This is modeled after the 'metadata' factory and provides
a way to use the pw_endpoint interface directly to implement
an endpoint object in a client.
2020-03-27 14:56:07 +00:00
George Kiagiadakis
0a8ec0380b
session-manager: check error code when registering the marshallers
2020-03-27 14:56:07 +00:00
George Kiagiadakis
e971a79fce
session-manager: implement export functions for session-manager objects
2020-03-27 14:56:07 +00:00
George Kiagiadakis
234c642746
session-manager: move files into client-endpoint / client-session subdirs
...
To clean up space for the new implementation.
The existing code is exclusively for use with the client-endpoint
and client-session factories.
2020-03-27 14:56:07 +00:00
George Kiagiadakis
bc3a92e950
session-manager: add impl marshallers for endpoint, -stream, -link and session
2020-03-27 14:56:07 +00:00
Wim Taymans
67a5dd35be
resample: add neon optimizations
2020-03-27 08:27:11 -04:00
Wim Taymans
397787ec3e
spa-resample: getopt_long returns an int
2020-03-26 18:10:11 +01:00