Wim Taymans
992f20f805
protocol-native: debug connection after remap
2018-03-01 18:31:56 +01:00
Wim Taymans
ea182ba194
client-node: reference memory with id
...
Reference the memory with id because it could be relocated.
2018-03-01 18:30:39 +01:00
David Svensson Fors
6365ea18d9
module-node-factory: remove destroyed node from node list
2018-03-01 17:43:19 +01:00
Wim Taymans
135a0a18d8
client-node: track memory for client
...
Keep track of the memory we sent to the client to only send memory
once and choose better memid values.
2018-03-01 14:46:49 +01:00
Wim Taymans
059571cec0
remote: clear mem id
...
Clear the memid so that find_mem can't find old memory anymore.
2018-03-01 13:08:45 +01:00
Wim Taymans
e9685c794f
remote: handle buffer errors
2018-03-01 12:39:33 +01:00
Wim Taymans
7bc9230a79
client-node: proxy -> node
2018-03-01 12:13:00 +01:00
Wim Taymans
a48761503c
remote: ignore duplicate mem
...
Ignore if we receive the same memid multiple times
2018-03-01 11:45:42 +01:00
Wim Taymans
53ee07c901
link: generate unique mix ids
...
Generate a per link id for the mixer input of the ports.
2018-03-01 09:30:42 +01:00
Wim Taymans
8e2ceb773e
Improve some debug
2018-03-01 09:01:52 +01:00
Wim Taymans
ebac77f4e4
conf: add some commented out modules
...
The link-factory allows the client to create links between ports.
The audio-dsp module creates dsp ports (float32, mono) for each
audio sink and source.
2018-02-27 12:53:05 +01:00
Wim Taymans
1ecf982504
link: improve allocation
...
Always move the allocated buffers to the output port and reuse them
from there if possible.
2018-02-27 12:51:25 +01:00
Wim Taymans
241a7bc7d9
mem: add some debug
2018-02-27 12:50:47 +01:00
Wim Taymans
b91a2a4207
link-factory: don't leak properties
2018-02-27 12:49:22 +01:00
Wim Taymans
28779b8e25
port: move mix_node to private.h
...
This will make it easier to override the implementation later
2018-02-26 17:20:27 +01:00
Wim Taymans
13fcaf74e6
link: improve allocation
...
Make a structure to track allocation of buffers on ports.
Handle more allocation failures.
Update port status immediately when clearing format
2018-02-26 17:05:30 +01:00
Wim Taymans
b8eccc3648
port: free resources
2018-02-26 16:49:38 +01:00
Wim Taymans
760e046dcf
client-node: handle port set_io
2018-02-26 16:16:53 +01:00
Wim Taymans
bc669f5def
audio-dsp: small cleanups
...
Fix some compilation errors
implement port cleanup
2018-02-26 16:09:47 +01:00
Wim Taymans
50db8b6126
stream: improve memory handling
...
Implement set_io
2018-02-26 16:04:32 +01:00
Wim Taymans
944d205e8e
protocol-native: print connection info after remap
...
Print the connection messages after mapping the ids or else we
can't really make sense of the ids.
2018-02-26 12:36:16 +01:00
Wim Taymans
e2f01c5838
protocol-native: disconnect remote
...
Disconnect the node and all the streams instead of just changing the
state.
2018-02-26 12:29:02 +01:00
Wim Taymans
6f61ac9357
fix some signed vs unsigned comparisons
2018-02-20 18:19:11 +01:00
Wim Taymans
5f92c152e3
remove module-jack
...
It's better to make a replacement client library
2018-02-20 18:17:01 +01:00
Wim Taymans
20e0d8b4ea
dsp: use format in the port.dsp property
2018-02-20 15:49:10 +01:00
Wim Taymans
8ff7a5fa29
node: set state before calling into methods
2018-02-20 12:50:44 +01:00
Wim Taymans
2fe7197930
node: add option to pause-on-idle
...
v4l2 is slower to start when we pause in idle. Disable this
behaviour with an option on the node.
2018-02-20 12:28:19 +01:00
Wim Taymans
920d098ea7
video-src: pause timeout when not streaming
2018-02-20 11:41:48 +01:00
Wim Taymans
b1492aa130
thread-loop: ensure the right clock is used
...
Use the right clock for the cond variable.
2018-02-20 11:18:49 +01:00
Karin Hedlund
43a384c51e
thread-loop: add timed wait
2018-02-20 10:54:10 +01:00
Wim Taymans
58667d6ced
params: make method on node and port to enum params
...
Do not pass the params of the node in the node_info, instead,
make a method to enumerate the params. This makes it possible for
clients to only enumerate what they need and when they need it.
Improve introspection of a port, add the name and properties.
Add an enum_param method on the port that can be used to enumerate
port formats.
Change -monitor and -cli and add support for enum_params on the node
and port.
2018-02-20 10:31:55 +01:00
Wim Taymans
a9a95a4205
audio-dsp: start counting from 1, to match jack ports
2018-02-20 10:01:10 +01:00
Wim Taymans
0e5a1b6327
props: use macro for property alternatives
2018-02-20 09:36:05 +01:00
Wim Taymans
f039238288
audio-dsp: implement buffer size param
2018-02-16 18:15:37 +01:00
Wim Taymans
9cb2891741
cli: implement destroy
2018-02-16 18:15:06 +01:00
Wim Taymans
0a57c86c25
link: clear port buffers when not in use and not owner
...
When we are the owner of the buffers, we want to keep them until
we suspend.
2018-02-16 17:56:25 +01:00
Wim Taymans
922099c67e
link: always make ouput owner of buffers
...
Make the output pad owner of the buffers, if we have multiple outgoing
connections from the outpad we don't want that buffers to disappear.
2018-02-16 16:55:18 +01:00
Wim Taymans
5034770eae
node: unlink ports before destroy
...
First unlink the ports, then destroy them. This is a more natural
way of cleaning up.
Make sure we destroy the node after destroying the ports.
Destroy the port after destroying its controls
Destroy resources after destroying the global
2018-02-16 12:04:33 +01:00
Wim Taymans
3db9a44679
dsp: make separate nodes for sinks and sources
...
Make separate nodes for sinks and sources
Add aliases for ports
2018-02-16 12:02:39 +01:00
Wim Taymans
8c4bb3a104
factory: improve registration
2018-02-16 12:01:18 +01:00
Wim Taymans
0173180e78
module-audio-dsp: add dsp module
...
Add an audio dsp module that adds an interleaver for each audio sink
and only allows 1 buffer size and format on the ports. The idea is that
dsp (pro-audio) nodes can be inserted in this part of the pipeline.
2018-02-15 17:54:08 +01:00
Wim Taymans
6c000229f0
port: add port globals
...
Expose all ports as globals, linking is then done by specifying
the global id of the ports.
Add method to destroy objects. not much security on this one but
yet but it should allow priviledged clients to kill connections
and other clients etc.
Make events on the global object. Implement the bind with the event,
handle destroy of the globals.
Add link properties
Use append to preserve the order.
2018-02-15 17:49:04 +01:00
Wim Taymans
b86f141273
add more debug info
2018-02-15 11:41:07 +01:00
Wim Taymans
95e27c27ca
protocol: signal when connection was closed
2018-02-15 10:49:01 +01:00
Wim Taymans
96fdfc86f7
link: avoid getting params
...
We don't need to iterate the port params again when we already
can reuse buffers from the ports.
2018-02-13 10:48:33 +01:00
Wim Taymans
cc53023fb9
remote: fix clear_memid
...
Use a separate variable to iterate the mem_ids.
Clear some more fields.
2018-02-13 10:29:30 +01:00
Wim Taymans
8a4f3c546d
port: remove port_pause
...
port_pause is not needed, spa elements should pause themselves when
setting NULL format or buffers.
Handle use_buffer or alloc_buffer error cases.
Clear buffers in the port before cleaning up the memory.
2018-02-13 10:22:30 +01:00
Wim Taymans
f2f94c4f72
examples: handle NULL io areas
2018-02-13 10:16:55 +01:00
Wim Taymans
fdfce79edb
connection: return false on read error
...
Return false to indicate that there is no more data to read or else
we add the -1 to buffer_size and things go wrong..
2018-02-12 17:32:09 +01:00
Wim Taymans
df57656615
remote: improve map/unmap of io area
...
Make sure we map and unmap the io area for controls.
Handle reset of io area
2018-02-12 11:44:37 +01:00