- 18 Nov, 2021 1 commit
-
-
Peter Hutterer authored
See pipewire/wireplumber#113
-
- 28 Sep, 2021 1 commit
-
-
- 25 Jun, 2021 1 commit
-
-
All empty pages for now but at least this makes them show up in the documentation.
-
- 30 Jul, 2020 1 commit
-
-
Wim Taymans authored
Add PW_PERM_ALL as a shortcut for all permissions Add PW_PERMISSION_FORMAT and PW_PERMISSION_ARGS to nicely format permissions.
-
- 20 May, 2020 1 commit
-
-
Wim Taymans authored
Ownership of the node_resource is taken by _new() and freed. Don't try to use it afterwards to send an error when something goes wrong but use the original resource.
-
- 25 Feb, 2020 1 commit
-
-
Wim Taymans authored
Send create_object error messages to the new resource id so that the client can better know what proxy is failing. Use resource_remove when create_object fails because the core will already send a remove_id on failure. Try to send other errors to the proxy that made the request if possible.
-
- 19 Dec, 2019 1 commit
-
-
Wim Taymans authored
This is more in line with wayland and it allows us to create new interfaces in modules without having to add anything to the type enum. It also removes some lookups to map type_id to readable name in debug.
-
- 13 Dec, 2019 1 commit
-
-
Wim Taymans authored
Don't pass pw_properties around when we simply need to pass around config info, only use pw_properties when used to construct an object that keeps the properties.
-
- 11 Dec, 2019 7 commits
-
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
Rearrange headers
-
Wim Taymans authored
Rename core_proxy to core and move the introspect and interface contents to core.h In an effort to promote the proxy API.
-
- 10 Dec, 2019 1 commit
-
-
Wim Taymans authored
The proxy API is the one that we would like to expose for applications and the other API is used internally when implementing modules or factories. The current pw_core object is really a context for all objects so name it that way. It also makes it possible to rename pw_core_proxy to pw_proxy later.
-
- 05 Dec, 2019 1 commit
-
-
Wim Taymans authored
We want to remove the need for the pw_remote in most cases.
-
- 21 Nov, 2019 1 commit
-
-
Wim Taymans authored
Add an error variant without checks.
-
- 25 Oct, 2019 1 commit
-
-
Wim Taymans authored
-
- 08 Oct, 2019 1 commit
-
-
Wim Taymans authored
For flatpaks we need to be able to support older v0 protocol clients. To handle this we have: - the connection detects an old client when it receives the first message. It can do this by checking the sequence number, on old versions it contains the message size and is never 0, on new clients the sequence number is 0. - We add a new signal at the start of the connection with the detected version number. This installs the right version of the core proxy. We also move the binding of the client until the hello message is received. This way we can have a new client connect (portal), hand over the connection to an old client, which then removes the client binding again in the hello request with a v0 version. There are some changes to the passing of fds in v0 vs v3 which need to investigated some more. - bump version of our interfaces to 3. This makes it possible to have v0 and v3 protocol marshal functions. - Add version number in the proxy. This is mostly automatically done internally based on the version numbers the library is compiled with. Where the version number was in the API before, it is now actually used to look up the right protocol marshal functions. For Proxies there is usually just 1 version, the current one. It is the server that will support different versions. - Add v0 compat marshal functions to convert from and to v0 format. This has some complications. v0 has a type map it keeps in sync with the server. For this we have a static type map with mappings to our own v3 types. Pods are mostly the same except for objects that used to have arbitrary pods in v0 vs spa_pod_prop in v3. Also convert between v0 spa_pod_prop and v3 spa_pod_choice. Formats and commands are also slightly different so handle those mappings as well. We only have marshal functions for the server side (resource) v0 functions. - Add v0 compatible client-node again. It's a bit tricky to map, v0 client-node basically lets the server to the mixing and teeing and just does the processing of the internal node.
-
- 16 Aug, 2019 1 commit
-
-
Wim Taymans authored
Remove the parent_id from the global event. Remove the parent and owner from the global object. Use properties instead to mark parents and owners of objects. Properties are easier to control for client exported objects and usually a simple parent/child is not enough. For example, a client exported node has the client as a parent but also the factory that created the node.
-
- 15 Jul, 2019 1 commit
-
-
Wim Taymans authored
Use an adapter instead of the client-stream. This means we run the audioconverters and resamplers in the client instead of the pipewire daemon. It also allows us to implement the audio mixing correctly in the capture client. The only pending piece is that we now wake up the client with the period of the server. Maybe we can later optimize that and accumulate/split buffers before waking the client. This probably needs fixing with video..
-
- 20 Jun, 2019 1 commit
-
-
Wim Taymans authored
-
- 19 Jun, 2019 1 commit
-
-
Wim Taymans authored
-
- 30 May, 2019 1 commit
-
-
Wim Taymans authored
When doing an export, make it possible to add extra data to the resulting proxy for user data.
-
- 24 May, 2019 1 commit
-
-
Wim Taymans authored
Add a keys.h file that lists and documents all keys available to be used in properties.
-
- 25 Feb, 2019 1 commit
-
-
Wim Taymans authored
Make the sequence number an int. Keep track of the last received seq number and pass it in error replies. Pass seq in for_each methods.
-
- 14 Feb, 2019 1 commit
-
-
Wim Taymans authored
Make some more varargs error functions Make pw_resource_error always just send the error to the resource id. Make sure we send errors to the right destination. Add proxy error event and emit it when the core finds an error for the given proxy id. The client error is supposed to be sent to all resources of a client for the given global.
-
- 06 Feb, 2019 2 commits
-
-
Wim Taymans authored
-
Wim Taymans authored
-
- 31 Jan, 2019 1 commit
-
-
Wim Taymans authored
Make the code to export objects more generic. Make it possible for modules to register a type to export. Make the client-node also able to export plain spa_nodes. Let the remote signal the global of the exported object if any. We can then remote the (unused) remote_id from the proxy.
-
- 14 Jan, 2019 1 commit
-
-
Wim Taymans authored
SPA_TYPE -> SPA_TYPE_INFO for type info strings improve includes Fixes #115
-
- 05 Nov, 2018 1 commit
-
-
Wim Taymans authored
Remove some obsolete files
-
- 03 Oct, 2018 2 commits
-
-
Wim Taymans authored
-
Wim Taymans authored
-
- 27 Aug, 2018 1 commit
-
-
Wim Taymans authored
SPA_ID_* -> SPA_TYPE_*. We use 'type' for all registered types. ID refers to either a registered type or an enum. Improve introspection of object ids. Make 0 an invalid enum and use it to look up the object id type. Move some type-info files together. Swap type and id of the object, we first specify the type and then the id because the meaning of the id depends on the object type.
-
- 23 Aug, 2018 1 commit
-
-
Wim Taymans authored
Do not use dynamic types anymore. The reason is that it's difficult: - to maintain a shared type database over a network. - the extra overhead when translating between processes and for maintaining the translation tables. - race conditions in translating in RT-threads, this is a problem because we want to make event streams. We now have simple enums with types and extension points for all types. This is also nicer to use in general. We don't need the mapper anymore or pass strings around as types. There is a parallel type info system to get more info about ids and enums and their hierarchy. It can also be used for debugging.
-
- 03 Jul, 2018 1 commit
-
-
Wim Taymans authored
Make sure we set the right parent id and owner for the client node and client-stream Move the remote id in the proxy object and use it in the stream to get the node id.
-
- 01 Jun, 2018 1 commit
-
-
Wim Taymans authored
-
- 13 Apr, 2018 1 commit
-
-
Wim Taymans authored
A client stream is a more specialized way to send 1 stream to pipewire. On the client side and receiver side it can do conversion and the buffer size of the client can be choosen arbitrarily.
-