Wim Taymans
212fe59530
perm: add permission mask to global
...
Add a mask of possible permissions for a global.
Make sure the permissions of an object are limited to the global
mask.
2023-07-28 10:22:12 +02:00
Wim Taymans
0b2d9ee007
module-session-manager: use dynamic builder
...
The buffer is very small and we should use a dynamic builder if we don't
know what pod we will expect.
2023-06-15 11:05:17 +02:00
Barnabás Pőcze
934ab3036e
treewide: use SPDX tags to specify copyright information
...
SPDX tags make the licensing information easy to understand and clear,
and they are machine parseable.
See https://spdx.dev for more information.
2023-02-16 10:54:48 +00:00
Wim Taymans
383df85466
modules: handle factory destroy
...
Listen for factory destroy and clean up the module.
See #565
2022-05-06 12:11:20 +02:00
Quentin Wenger
22fc9eec35
Cleanup argument names in methods and events interfaces
...
First method argument is object, first event argument is data.
Closes !963
2022-04-15 10:11:49 +02:00
Wim Taymans
b97327e1f6
module: handle type register errors
...
Registering an export type can give an error when the type is already
registered. Handle those errors and refuse to load the module.
See #2281
2022-04-11 21:15:13 +02:00
Pauli Virtanen
ab353a8057
module-session-manager: set object.serial on session objects
...
Session, endpoint, link, and stream objects should also set
object.serial.
2022-02-28 20:11:01 +02:00
Wim Taymans
3509962f3a
module-session-manager: don't leak the impl structure
...
We need to remove the listener for the object as well so that we
can safely free the impl memory.
2021-10-27 17:41:32 +02:00
George Kiagiadakis
59407d2f08
includes: update all references to extensions to point to pipewire/extensions
...
This also brings the advantage that all tools, examples, modules, components
can also be compiled standalone out-of-tree using libpipewire from the system
2021-06-18 17:54:18 +03:00
Emmanuel Gil Peyrot
14fdf07e8f
Run codespell on the entire codebase
...
This tool detects and fixes common English spelling mistakes, with
generally very few mistakes.
Here is the command I used to generate this commit. There were a few
changes that had to be done manually, and of course adding the ignore
file:
```shell
codespell -I .codespell-ignore -x .codespell-ignore -w
```
I didn’t add it to the CI, but this would be a good place for it.
2020-08-17 17:16:31 +00:00
Wim Taymans
91d4806611
permission: add some helpers
...
Add PW_PERM_ALL as a shortcut for all permissions
Add PW_PERMISSION_FORMAT and PW_PERMISSION_ARGS to nicely format
permissions.
2020-07-30 16:26:29 +02:00
George Kiagiadakis
6ecbe00774
session-manager: emit cached info with CHANGE_MASK_ALL on new resources
2020-06-01 16:25:40 +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
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
Wim Taymans
df519ee3b3
avoid including private.h
...
Expose some more methods to make it possible to build without
including the private.h header, especially in modules.
2020-01-02 13:48:50 +01:00
Wim Taymans
3805d5dfa2
pw_endpoint_stream_proxy -> pw_endpoint_stream
2019-12-11 16:48:00 +01:00
Wim Taymans
95688939bf
pw_client -> pw_impl_client
2019-12-11 11:21:43 +01:00
Wim Taymans
d70a47b7fe
move proxy implementations in their own file
...
Rearrange headers
2019-12-11 10:58:51 +01:00
Wim Taymans
8ea78c2e3f
pw_core -> pw_context
...
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.
2019-12-10 18:19:56 +01:00
Wim Taymans
709a52e286
media-session: also create EndpointLink objects
...
Create an endpoint link object when linking endpoints. Keep track
of the links in the endpoint_link and cleanup when they are all
gone.
Improve properties on session objects.
2019-11-29 13:34:08 +01:00
Wim Taymans
085f1822b9
session-manager: fix protocol
...
Add separate types for interfaces and implementation
Fix some bugs in the protocol
Add some introspection support in cli
2019-11-04 17:30:33 +01:00
George Kiagiadakis
1e14206c71
extensions: implement new session manager extension
...
This extension, implemented in module-session-manager, implements
a set of objects that are useful for session managers.
2019-11-04 17:30:33 +01:00