Barnabás Pőcze
f5d51162c4
treewide: mark things static and const
...
Mark some structures, arrays static/const at various places.
In some cases this prevents unnecessary initialization
when a function is entered.
All in all, the text segments across all shared
libraries are reduced by about 2 KiB. However,
the total size increases by about 2 KiB as well.
2021-06-30 14:44:08 +02:00
Wim Taymans
2c5d89ff19
pw-cli: allow '-' for port/node in create-link
...
Passing a '-' as the port or node for create-link will omit sending
the property to create-link so we can check if the link factory handles
missing properties too.
See #1365
2021-06-30 11:52:57 +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
Wim Taymans
9a90030596
pw-cli: fix command parsing after pw_split changes
...
Don't assume anything about the way the split function maintain the
state.
2021-06-07 11:17:45 +02:00
Peter Hutterer
e0471c6757
pipewire: allow NULL pointers in pw_properties_free()
...
Just like the real free() we should just ignore a NULL pointer, makes the
caller code easier for those instances where properties are optional.
Patch generated with concinelle with a few manual fixes.
2021-06-02 10:56:46 +00:00
Wim Taymans
f007ca475c
pw-cli: handle failure to create context
...
Fixes #1234
2021-05-26 10:18:15 +02:00
Peter Hutterer
e1211e6a94
tools: fix scan-build errors for unused variables
...
All cases of value stored but never read
2021-05-26 07:51:27 +00:00
Peter Hutterer
92514d57e4
treewide: replace plain strcmp() calls with spa_streq
2021-05-18 22:10:27 +10:00
Peter Hutterer
522f87d5ea
treewide: replace strcmp() != 0 with !spa_streq
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Peter Hutterer
95a84e797a
treewide: replace !strcmp() with spa_streq()
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Peter Hutterer
7697ed0757
treewide: replace strcmp() == 0 with spa_streq()
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Wim Taymans
3c11b75e32
pw-cli: allow setting keys by their value.
...
Makes things like:
pw-cli s 102 Props '{ 16777216: 1.2 }'
work. Useful when dealing with custom properties that don't have a name
in the type array.
2021-05-03 11:50:42 +02:00
Wim Taymans
7145b2becf
pw-cli: add support for creating Struct in pod
...
Support creating Struct as well. When an object property is marked as
Struct, use [] to start the struct and copy each item with its type into
the struct:
pw-cli s 0 Route '{ info = [ "foo": 0.1 "bar": null [ 0.1 10 "hat" ]] }'
2021-04-30 17:21:42 +02:00
Wim Taymans
aea55f662a
i18n: move to separate .h file
...
So that we can include it where needed and don't cause redefined _()
macros for other projects.
Fixes #1120
2021-04-30 09:57:30 +02:00
Wim Taymans
66e37f6bb7
pw-cli: free properties in create_ functions
2021-04-19 16:37:05 +02:00
Wim Taymans
036c54b043
Add i18n support for some more user-visible strings
2021-04-15 17:56:40 +02:00
Wim Taymans
ca4b549472
pw-cli: handle properties without type info
...
Some properties don't have type info and then we want to skip
constructing the pod instead of crashing. This makes it possible to
cut and paste the output of pw-dump Route into pw-cli s <card> Route,
for example.
2021-04-09 16:14:50 +02:00
Wim Taymans
6217f20c04
pw-cli: allow param names in enum-params
...
So that "pw-cli e <object.id> Props" works
2021-04-09 15:55:04 +02:00
Wim Taymans
87706c7442
pw-cli: use more powerful pw_properties_new_string()
...
Remove our custom property parsing code and use
pw_properties_new_string() for more powerful syntax.
2021-04-09 15:53:33 +02:00
Wim Taymans
ae22852a9b
remove some useless checks
...
The variable was already dereferenced above and thus can't be NULL
2021-03-27 20:36:43 +01:00
FeRD (Frank Dana)
2931522d2c
pw-cli: Make 'dump' type arg case-insensitive
2021-03-10 11:41:32 -05:00
Wim Taymans
27f85d1f52
tools: remove registry listener before destroying
...
Otherwise we access freed memory when we try to remove
the listener later.
2021-02-24 14:58:20 +01:00
Wim Taymans
1f2cb7ac67
don't crash with missing libraries
2021-02-23 17:48:57 +01:00
Wim Taymans
91875c1fd8
pw-cli: always output to stdout
...
Use spa_debug_pod because spa_debug_format outputs to stderr
2021-02-19 16:42:21 +01:00
Wim Taymans
579e8a4ea6
json: allocate one extra byte for the \0
2021-01-19 16:56:55 +01:00
Wim Taymans
9a03f8769e
pw-cli: handle unquoted strings
...
Use parse_string for everything else to use it as a string value.
Make it possible to use short name for the param.
so now you can do:
pw-cli set-param 55 Props '{ channelVolumes: [ 0.3, 0.3 ], channelMap: [ FR,FL ] }'
2021-01-08 12:23:02 +01:00
Wim Taymans
1e9b152bb5
spa: make an extra level for arrays
...
Make a level with type info for the array elements.
2020-12-01 13:30:14 +01:00
Wim Taymans
95718792c4
pw-cli: implement set_param
...
You can do something like this to set some params:
pw-cli set-param 46 13 '{ "index": 5,
"props": { "mute": false,
"channelMap": [ "FL", "LFE" ]
},
"direction": "Output"
}'
2020-11-30 13:31:46 +01:00
Wim Taymans
b3aa346063
handle core error better
...
Use the PW_ID_CORE constant
Quit the mainloop when server disconnected in the tools
See #395
2020-11-20 12:29:51 +01:00
Wim Taymans
1570e62635
remove hooks from objects
...
Remove the hooks we installed on objects in the destroy/free event
or before calling _destroy. This is not really needed but it is
a nice thing to do because it calls the hook removed callbacks.
2020-11-06 15:53:32 +01: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
Wim Taymans
3eb37320c9
pw-cli: improve permission debug
2020-07-16 17:46:47 +02:00
Wim Taymans
9caccb6125
pw-cli: quit when we quit
2020-07-16 12:49:17 +02:00
Wim Taymans
30571d4706
tools: fix some leaks
2020-06-04 12:35:16 +02:00
Wim Taymans
60742d7542
pw-cli: allocate nodes ids of the right size
2020-05-20 15:24:25 +02:00
Wim Taymans
d31c057b42
Remove some useless checks
2020-05-20 15:24:25 +02:00
Wim Taymans
ce98162ed2
Make sure we don't read too much
2020-05-20 15:24:25 +02:00
Wim Taymans
d68e7ed58a
tools: handle connection error
2020-04-22 11:28:32 +02:00
Wim Taymans
7927a66fdd
tools: improve error reporting
2020-04-04 20:23:42 +02:00
Wim Taymans
b87c0a9270
clean up options
...
make sure we can use -v for verbose mode
2020-04-02 14:34:02 +02:00
Gleb Popov
b552863ec9
Don't include alloca.h on FreeBSD.
2020-03-31 12:16:45 +02:00
Wim Taymans
413bda908a
pw-cli: continue after parsed options
2020-03-25 18:00:50 +01:00
Wim Taymans
c292a6d54e
pw-cli: add non-interactive mode
...
You can now pass a command to pw-cli and it will execute immediately
and exit.
Fixes #195
2020-03-25 11:17:02 +01:00
Wim Taymans
646088b90c
tools: add getopt argument parsing
...
Add some help, version, remote options for tools
Add option for output filename in pw-profiler
Add option to start pw-cli as daemon or not, make it connect to the
default PipeWire instance by default (instead of local instance)
2020-03-24 16:36:48 +01:00
Wim Taymans
6700e332f9
Revert "pw-cli: Collect and display parameters from global symbols"
...
This reverts commit 3b53a6e049 .
2020-03-06 16:33:50 +01:00
Wim Taymans
524f9fd96d
Revert "Implement JSON/YAML command for graph tree traversal"
...
This reverts commit 7ead270265 .
2020-03-06 16:33:36 +01:00
Wim Taymans
8644e80304
Revert "Fix change_mask string generation"
...
This reverts commit b445bdea27 .
2020-03-06 16:33:14 +01:00
Wim Taymans
b7f952e02b
Revert "Fix printf attribute compilation errors"
...
This reverts commit 4175191d19 .
2020-03-06 16:30:32 +01:00
Wim Taymans
d880db3933
Revert "pw-cli: use core object to map id to proxy"
...
This reverts commit 918acd61ef .
2020-03-06 16:30:18 +01:00
Wim Taymans
e9884fcfb5
pw-*: Use user data to track param changes
...
Use the new param_info user field to track individual param
changes and only notify thos that changed.
2020-03-06 15:41:02 +01:00