Commit graph

790 commits

Author SHA1 Message Date
Piotr Drąg
aa2a189ac9 Update POTFILES.in 2017-09-19 17:42:12 +02:00
Wim Taymans
14dbc9c687 Makefile.in: use right build command
Use ninja instead of ninja-build, which does not seem to exist on
debian.
2017-09-19 16:04:41 +02:00
Wim Taymans
8f67aa2c38 deviceprovide: only signal when there is a loop 2017-09-19 13:16:22 +02:00
Wim Taymans
2e379d5f8f back to development 2017-09-19 12:17:36 +02:00
Wim Taymans
0d44a34b4c Release 0.1.5 2017-09-19 11:25:38 +02:00
Wim Taymans
807af5b983 man: update man pages
Add man page for pipewire-cli
2017-09-19 10:19:53 +02:00
Wim Taymans
6af4f08c6e cli: small cleanups
Add make cli to start the cli
Only print changes once
Notify of changed objects
2017-09-18 22:23:18 +02:00
Wim Taymans
3b0eec4bf8 Use PIPEWIRE_DAEMON env var to start a server
Check the PIPEWIRE_DAEMON environment variable and start a server
if it is set.
2017-09-18 21:48:02 +02:00
Wim Taymans
2f6c4544fe Small cleanups and additions 2017-09-18 21:47:44 +02:00
Wim Taymans
93a52f4837 Simplify node activation
Don't directly expose the state change methods. Only expose an activate
method for nodes that indicates if the node should be scheduled or not.
Let the link automatically negotiate two active nodes.
Make some defines for properties.
Use link property to make passive links. Passive links don't activate
the nodes.
Make sure the mainloop quits when quit is called before run.
2017-09-18 20:42:55 +02:00
Wim Taymans
304a6d1796 alsa-source: fix class 2017-09-18 19:15:09 +02:00
Wim Taymans
82129a65b9 flatpak: use new way to check for flatpak 2017-09-18 13:25:15 +02:00
Wim Taymans
f64c28c091 Cleanups
Make separate _register function so that we can first configure the
object before making it publicly visible.
2017-09-18 11:54:25 +02:00
Wim Taymans
67d4dd8656 factory: add introspection 2017-09-18 09:35:00 +02:00
Wim Taymans
7f20e04803 node_factory -> factory
Rename the node-factory to a more generic object factory.
Add type and version to create objects from a factory
Start on factory introspection
2017-09-17 16:47:03 +02:00
Wim Taymans
3c1957fd9d remote: make extra nodes for scheduler
Add an extra input and output node for remote nodes. We link this
node to all remote inputs and outputs to make it easier to use
the scheduler.
Improve scheduler debug
2017-09-16 09:20:04 +02:00
Wim Taymans
4d03224141 scheduler: fix push 2017-09-15 16:04:46 +02:00
Wim Taymans
f744b7fb1b pipewire-cli: add new tool
Add new tool to interactively interface with PipeWire instances.
2017-09-15 15:03:21 +02:00
Wim Taymans
63723cd15e core: only keep the first core resource
The resource with id 0 is always the core resource. If the client
later binds to the core again, don't override the core resource.
2017-09-15 15:02:15 +02:00
Wim Taymans
389781e3d5 core: implement create-link 2017-09-15 15:01:55 +02:00
Wim Taymans
2f9c57ec01 core: do a bind to a new node
If a create-node creates a new node, do a bind to the global of
the node to make sure the client gets the node-info.
2017-09-15 14:59:42 +02:00
Wim Taymans
d9bae8f38b introspect: add id to info again
The global is created first, with the global id in the info, it's
possible to easily link a new object to a global.
2017-09-15 14:57:43 +02:00
Wim Taymans
4bef583b75 command: clean up a little 2017-09-15 14:54:52 +02:00
Wim Taymans
d26d7a8040 flatpak: fix resource override
Make sure we chain up to the same resource that we override, for this
keep a per resource info that we pass around.
2017-09-15 14:52:17 +02:00
Wim Taymans
8a45fd4f31 remote: add user data 2017-09-15 14:51:39 +02:00
Wim Taymans
2ca25e5bf4 Small cleanups
Improve debug
Fix core info event, pass the copied info around in remote.
2017-09-15 14:47:54 +02:00
Wim Taymans
26e9daf6b7 graph: provide in and out counters
Make it possible to have input and output counters to see when a
node can be scheduled.
2017-09-15 13:37:33 +02:00
Wim Taymans
e641914c2f volume: improve negotiation and params 2017-09-15 13:29:53 +02:00
Wim Taymans
83b5765bbd list: fix spa_list_last 2017-09-15 13:29:17 +02:00
Wim Taymans
78ebe2b76e Small cleanups
Use client properties to get the remote name to connect to.
Allow NULL values in properties and make sure they are copied
correctly.
2017-09-11 15:44:03 +02:00
Wim Taymans
c72d797dde Fix crash on shutdown
Sometimes we insert NULL into the client object map to mark the object
freed. Now that the map also returns those NULL's, don't try to free
them.
Small cleanups
Make some port methods private.
2017-09-11 09:48:13 +02:00
Wim Taymans
f03d229467 node: be more clever when updating ports
When updating the node ports, handle the case where ports are already
added as well as removed ports.
2017-09-08 16:44:51 +02:00
Wim Taymans
dc85a79786 Add more generic export-spa example
Replace the v4l2 example with a more generic version that can add
any spa node to a remote graph
Make the dictionary items const
Add some info to nodes and factories. Add the node info to the node
properties. We can then set the media.class directly on the node,
instead of letting the monitor set it.
Debug node info in spa-inspect.
Do async operation on the audiotestsrc and videotestsrc differently.
2017-09-07 19:55:22 +02:00
Wim Taymans
21cd5a2918 Add example to play sine wave
Various build fixes and cleanups
Move port_add to private and make node ports based on implementation.
Improve pull based scheduling on remote nodes
2017-09-07 10:22:32 +02:00
Wim Taymans
36ac8a6545 update docs 2017-09-05 13:35:25 +02:00
Wim Taymans
7ef1a1d107 Add target to publish API docs 2017-09-05 09:42:02 +02:00
Wim Taymans
ebea63ad0a client: set ucred properties 2017-09-04 20:25:44 +02:00
Wim Taymans
3334ed73ae Set theme jekyll-theme-slate 2017-09-04 19:55:46 +02:00
Wim Taymans
914fe5c2b7 jack: filter formats
filter jack formats in enum_formats
Fix some crashes and cleanups
2017-09-04 13:18:49 +02:00
Joakim Johansson
be7a06f9b0 stream: Stream is closing the same fd several times
Several memid's are connected to the same fd and when clearing the
memid shall the fd only be closed once.
2017-09-04 11:10:36 +02:00
PrasannaKumar Muralidharan
f6d480fdfd Fix memory issues reported by clang static analyzer (#7)
* Fix use after free in error path

Memory pointed by 'handle' is used in error path but it is freed before jumping to interface_failed. Remove the wrong free. Memory pointed by 'handle' gets freed in the error handling path.

* Free 'bus' when dbus_bus_get_private fails

If dbus_bus_get_private fails memory pointed by 'bus' is never freed. Free it.

* Free 'impl' if dbus_bus_get_private fails

When dbus_bus_get_private fails the memory pointed by 'impl' is not freed. Free it.
2017-09-04 11:09:45 +02:00
Marcos Paulo de Souza
ff363cc7bf spa/include/meson: Install hook.h (#11)
When compiling some application and include spa/loop.h, it needs hook.h,
so install it.

Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
2017-09-04 11:09:18 +02:00
Marcos Paulo de Souza
b0c3936477 Fix clang warnings about comparing uint32 < 0 (#10)
* Fix clang warnings about comparing uint32 < 0

clangs complains about an uint32 compared to < 0:
warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]

So remove these comparisos and an uint32 never will be less than 0.

Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>

* module-jack.c: Differentiate error msg from protocol-native

Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
2017-09-04 11:09:08 +02:00
Wim Taymans
6afcb4981f link: improve introspection 2017-08-27 17:58:25 +02:00
Wim Taymans
174d34ada6 fix a socket leak
Let the loop source free the sockets.
Free the write fd in the stream.
2017-08-27 13:14:34 +02:00
Wim Taymans
577f86be0d graph: use spa_node as implementation
Always use a spa_node as the graph implementation, implementing the
methods is just as easy.
Plug some mem leaks in remote
2017-08-27 12:12:14 +02:00
Wim Taymans
6953642ed5 small cleanups 2017-08-27 09:16:03 +02:00
Wim Taymans
28ae844de9 node: always use a spa_node as the implementation
Avoid duplicating API, remove implementations from port and node and
always use an spa_node as the implementation, it's just as easy to
implement a spa node. With the implementation always being a spa_node
we will be able to better implement the negotiation of the mixers.
2017-08-25 19:02:27 +02:00
Wim Taymans
b7b80683bc jack: work on mixing 2017-08-25 10:01:04 +02:00
Wim Taymans
68f5c05b9f back to development 2017-08-23 13:31:24 +02:00