Commit graph

285 commits

Author SHA1 Message Date
Wim Taymans
847cef83b6 Work on unifying client and server
Remove context and extensions, make client API also use the core.
Make a new pw_remote object that keeps connections with remote
instances.
Remove introspection API, it's just as easy to connect to the registry
and get updates like that.
Expand the protocol a little to make it useful for making listeners
and connections.
Move protocol specific connection to the module. Make some new
convenience methods.
Make a factory to create nodes from spa objects
Add an example of a local pipeline displaying a v4l2 source.
2017-07-11 12:40:01 +02:00
Wim Taymans
0738f7fcf5 Rework node and ports
Rework the node and port API so that other implementations can be used
than the spa_node. The plan is to morph this into the stream and
context API.
Rework the graph API a little so that init + add is separated.
2017-07-07 17:55:26 +02:00
Wim Taymans
da94f65493 fix some compiler warnings 2017-07-04 12:21:01 +02:00
Wim Taymans
8886f5d373 build fixes 2017-07-04 11:30:49 +02:00
Wim Taymans
791137e9e5 loop: fix ringbuffer handling 2017-07-04 10:18:24 +02:00
Wim Taymans
9fa1df6f2c link: work on activate/deactivate
Recursively activate links when activating nodes
2017-07-03 17:34:30 +02:00
Wim Taymans
d2f877912a Use graph to schedule things
Make real spa_graph nodes and ports and schedule those. This makes
it possible to add explicit tee and mixers in the real graph.
Rework the way we add and remove ports and nodes from the graph.
Remove confusing pw_port_link and merge core with pw_link_new()
Move scheduling in separate files, add some more graph-schedulers.
2017-06-30 19:36:39 +02:00
Wim Taymans
83e65c31ab graph: improve API a little
Node allow linking to multiple inputs when there is a mixer.
2017-06-29 09:31:50 +02:00
Wim Taymans
9ee0cd7d8d fix last_port 2017-06-28 16:53:10 +02:00
Wim Taymans
d8cac792f4 spa: small performance fixes 2017-06-28 16:33:11 +02:00
Wim Taymans
7fbe811a03 audiomixer: separate mixer functions 2017-06-27 17:48:34 +02:00
Wim Taymans
bc56c59597 loop: add block flag to invoke
Remove async shutdown and block instead.
2017-06-26 10:41:19 +02:00
Wim Taymans
c391e5088a ringbuffer: simplify 2017-06-22 09:49:12 +02:00
Wim Taymans
0fc6b1c0be fix some valgrind issues 2017-06-21 16:42:10 +02:00
Wim Taymans
3b5a308645 link: improve renegotiation
Only suspend an idle node when we need to configure a different format.
2017-06-20 16:22:25 +02:00
Wim Taymans
4a6b1b42bc Don't hardcode plugin path
Use SPA_PLUGIN_DIR to get the plugin path.
Install plugins in subdirectory to make it match the build tree.
2017-06-19 12:19:22 +02:00
Wim Taymans
763bd1100e Add user_data to callbacks
Add user data to callbacks, it's more flexible and natural
2017-06-18 19:48:31 +02:00
Wim Taymans
c3b73ba47d Add versions to structures
Use versions instead of size
Remove user_data from callbacks, we can simply pass the callback struct.
2017-06-14 18:32:39 +02:00
Wim Taymans
4a219e81dd loop: move to plugin
Move the loop implementation to a plugin.
Organize the hooks in a list so that we can add many.
2017-06-14 16:27:04 +02:00
Wim Taymans
f55f1739e1 Rework support
Load the mapper from the support plugin
Move the support setup in pw_init
2017-06-14 11:48:41 +02:00
Wim Taymans
b9c719ac7e log: don't crash when failed to load
Improve docs for node
2017-06-14 10:16:24 +02:00
Wim Taymans
9257e3b8f3 make support plugin 2017-06-14 10:15:17 +02:00
Wim Taymans
34450ed7ed Make done event on node
Replace the AsyncDone event with an explicit done callback in the node
to signal completion of an async operation.
Pass read and write fd together with the transport
2017-06-09 17:24:18 +02:00
Wim Taymans
0af8377d10 log: dynamically load the logger API 2017-06-06 16:53:16 +02:00
Wim Taymans
b4fdcbd322 Debug: remove logger
Make a default logger and mapper in a .h file to be used by examples
Remove logger and mapper from libs
Make method to set the default mapper for the debug methods
2017-06-06 13:30:34 +02:00
Wim Taymans
4433203d5f Small fixes
Init ptr in mem
Use a default memory size when no params
Improve debug
Always push after we have a buffer from pull
2017-06-06 09:10:42 +02:00
Wim Taymans
1feec309ec logger: add loadable logger 2017-06-05 15:59:11 +02:00
Wim Taymans
ebaaedef75 Fix change mask names 2017-05-30 20:33:32 +02:00
Wim Taymans
783bbe6c64 Small cleanups 2017-05-30 20:01:37 +02:00
Wim Taymans
f6ca32cdcf Improve debug
Add proxy destroy function and use it to free proxy user_data.
Destroy sources from the poll thread.
Fix format init
2017-05-29 10:32:07 +02:00
Wim Taymans
cf94117244 improve props test 2017-05-26 20:52:04 +02:00
Wim Taymans
ded1ea69a1 indent 2017-05-26 18:19:51 +02:00
Wim Taymans
08522a162e indent 2017-05-26 17:25:58 +02:00
Wim Taymans
6b2d77e64d small cleanups 2017-05-26 15:55:23 +02:00
Wim Taymans
0f6b3a7cab indent 2017-05-26 09:09:31 +02:00
Wim Taymans
5b037661d9 indent 2017-05-26 08:05:01 +02:00
Wim Taymans
d1a06ae247 indent -kr -i8 -l100 2017-05-25 16:23:13 +02:00
Wim Taymans
11f23a3ffa spa: don't use typedef for struct and enum 2017-05-25 13:28:15 +02:00
Wim Taymans
83964cec87 pinos -> pipewire 2017-05-23 19:15:33 +02:00
Wim Taymans
f12a5ffc80 Remove redundant fields from PortInfo 2017-05-22 18:02:31 +02:00
Wim Taymans
d1a6d6e03f param: add more generic port params
Remove port properties and replace them with port params. Move the
params from the PortInfo to enum_params.
Use the Param ranges to specify possible sizes etc.
2017-05-22 13:06:18 +02:00
Wim Taymans
12effccb06 Add fakesrc ! fakesink test
Add fakesrc and fakesink and some performance test
Small cleanups
2017-05-19 12:48:51 +02:00
Wim Taymans
6691eb7845 graph: add graph datastructure and scheduler
Improve event and command init so that it can be used more easily
as compound literals.
Improve volume
Make it possible to use graph scheduler in test-mixer
2017-05-18 17:16:48 +02:00
Wim Taymans
53dd63eb3a type: improve type check 2017-05-17 12:47:33 +02:00
Jonas Ådahl
0855ca0050 spa: Include type-map.h where necesarry
These include files need type declarations in type-map.h. Don't require
includers to know that; just include dependencies directly.
2017-05-17 11:56:38 +02:00
Linus Svensson
e27ec1a203 Only use string literals as format
Fixes -Wformat-security error.
2017-05-16 09:31:50 +02:00
Linus Svensson
a5c9ba1e5b Install all header files 2017-05-16 09:24:21 +02:00
Linus Svensson
cba22d0e39 spa/plugins/videotestsrc: Draw correctly for all resolutions
Use an incremented variable to support all resolutions. If the width of
the pludge part of the test image was not dividable by three, a
rounding error made the resulting pattern containing noise.
2017-05-16 09:14:36 +02:00
Linus Svensson
04ffc679fc spa: Include version in libspa-lib.so 2017-05-16 09:12:53 +02:00
Wim Taymans
b80fc0b08e defs: remove invalid direction
Anything not in the enum is invalid
2017-05-16 09:06:37 +02:00