Commit graph

4202 commits

Author SHA1 Message Date
Wim Taymans
8ee91bd738 examples: don't hardcode dimensions for crop info 2020-06-18 11:43:34 +02:00
Julian Bouzas
1f1386879b a2dpsink: only request new data when buffer is done 2020-06-18 08:02:50 +00:00
George Kiagiadakis
715be5dfe7 pulse: fix counter while populating card_info profiles 2020-06-18 10:01:47 +02:00
Wim Taymans
ba57de9b81 pulse: fix size calculation 2020-06-17 16:56:40 +02:00
George Kiagiadakis
9c8279aa6e pulse: fix pa_card_info.profiles2 array to be NULL terminated
profiles2 is meant to be NULL terminated, according to its documentation
Fixes a crash in pavucontrol-qt
2020-06-17 17:17:51 +03:00
George Kiagiadakis
a108752514 jack: fix crash on close when metadata are not available 2020-06-17 12:13:34 +00:00
Wim Taymans
389b4a72f8 context: keep passive links negotiated
Always make sure passive links are prepared so we can follow them
and use them to activate nodes.
2020-06-17 14:09:42 +02:00
Wim Taymans
741a2b3dcc link: variables are already set in update_state 2020-06-17 13:18:52 +02:00
Wim Taymans
0441653ce4 jack: use PIPEWIRE_LINK_PASSIVE environment var
Let the jack client make passive links when the PIPEWIRE_LINK_PASSIVE
variable is set. Makes it possible to start qsynth with passive links
so that it suspends when not in use.
2020-06-17 13:17:28 +02:00
Wim Taymans
16d61e98e8 link: implement passive links again
Check if a driver is only connected to other nodes with passive
links, if that's the case, set the driver and all followers in
IDLE.
2020-06-17 12:22:58 +02:00
Wim Taymans
2a11e66417 client-node: clear array fields 2020-06-16 21:22:06 +02:00
Wim Taymans
660d77cff0 jack: allocate mix structure dynamically 2020-06-16 21:12:12 +02:00
Wim Taymans
c9d4c1ba95 jack: dynamically fill the port array
Don't preallocate ports, do so on demand to reduce memory
usage.
2020-06-16 20:57:52 +02:00
Simon McVittie
b852b58f82 Optionally install examples and tests
This makes it easier to test PipeWire in its "as-installed" state,
for example in an OS distribution.

The .test metadata files in ${datadir}/installed-tests/${package} are
a convention taken from GNOME's installed-tests initiative, allowing a
generic test-runner like gnome-desktop-testing to discover and run tests
in an automatic way.

The installation path ${libexecdir}/installed-tests/${package} is also
a convention borrowed from GNOME's installed-tests initiative.

In addition to the automated tests, I've installed example executables
in the same place, for manual testing. They could be separated into
a different directory if desired, but they seem like they have more
similarities with the automated tests than differences: both are there
to test that PipeWire works correctly, and neither should be relied on
for production use. Some examples are installed in deeper subdirectories
to avoid name clashes.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-06-16 17:58:02 +00:00
Simon McVittie
8b97d2ae74 spa examples: Load plugins from SPA_PLUGIN_DIR or installed path
This lets them be used installed or uninstalled, like pipewire itself.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-06-16 17:58:02 +00:00
raghu447
cecbe8ff17 libcamera: cleanup build warnings 2020-06-16 17:53:54 +00:00
Wim Taymans
3859b14adf client-node: dynamically allocate the mix structs 2020-06-16 18:21:58 +02:00
Wim Taymans
eac046a86b client-node: place invalid mix at begin instead of end
..so that we can resize the array later.
2020-06-16 17:52:39 +02:00
Wim Taymans
fb1ea646f5 client-node: remove unused field, add some debug 2020-06-16 17:41:54 +02:00
Wim Taymans
fc57f05e56 audioconvert: reduce memory usage
We only need as many ports and buffer data as the maximum number
of channels, which is 64.
Fix empty output size. We're only ever going to fill this with
float samples.
2020-06-16 15:55:32 +02:00
Wim Taymans
f2245ecbb1 doc: small fix 2020-06-16 12:28:22 +02:00
Wim Taymans
cd7a56a71c gst: fix proxy leaks 2020-06-16 11:02:16 +02:00
Wim Taymans
61c1fe546e client-node: fix buffer size calculation
Calculate the size of the buffer as the difference between the first
byte and the last byte. This takes into account the alignment.
2020-06-15 20:44:08 +02:00
Wim Taymans
fd0ebdd74a stream: only set MAPPED flag when mmaped 2020-06-15 17:54:37 +02:00
Wim Taymans
4743a423e8 stream: only remove buffer when added 2020-06-15 17:40:29 +02:00
Wim Taymans
8ecae0785b stream: don't reset flags
Or else we lose the MAPPED flag and we don't unmap (not that it's
a problem because it gets unmapped when we close the fd).
2020-06-15 17:39:33 +02:00
raghu447
9c631842cb libcamera: cleanup unused variables 2020-06-15 17:45:01 +05:30
raghu447
7c05a7f7b4 libcamera: fixed a small leak and double free 2020-06-15 12:02:22 +05:30
Wim Taymans
5778de090f doc: fix some typos 2020-06-13 21:31:32 +02:00
Wim Taymans
5e652612be doc: add tutorial for pw_stream playback 2020-06-13 21:26:21 +02:00
raghu447
40ef322a34 libcamera: Fixed the crash issue when rtkit is enabled. 2020-06-12 12:24:00 +05:30
Wim Taymans
2c70106728 README: fix link 2020-06-12 07:41:52 +02:00
Wim Taymans
e9327daf01 README: add some links 2020-06-12 07:40:28 +02:00
Wim Taymans
85b6d97b21 Improve README 2020-06-11 21:18:32 +02:00
Wim Taymans
cdda6ca329 doc: add index 2020-06-11 16:52:47 +02:00
Wim Taymans
205c4a58f9 doc: fix navigation 2020-06-11 16:38:26 +02:00
Wim Taymans
4d3647acbb doc: add cleanup 2020-06-11 16:36:55 +02:00
Wim Taymans
00ca566b18 doc: cleanups 2020-06-11 16:30:27 +02:00
Wim Taymans
9b245da5c0 docs: add tutorial 3 2020-06-11 16:25:47 +02:00
Wim Taymans
44efab6c31 docs: more tutorial 2020-06-11 15:32:52 +02:00
Wim Taymans
0ee5feab67 doc: add tutorial index 2020-06-11 13:43:29 +02:00
Wim Taymans
0a84a77a21 add index 2020-06-11 13:39:09 +02:00
Wim Taymans
a33fac9f9a Update architecture.md 2020-06-11 11:33:29 +00:00
Wim Taymans
70ce1da29c doc: add some more docs 2020-06-11 13:29:30 +02:00
Wim Taymans
12afb23938 docs: add some more docs 2020-06-11 09:51:32 +02:00
George Kiagiadakis
da9d17e73e bluez5: don't add transport twice in the device transports list
The transport is already added in profile_new_connection(), unless
is_new is TRUE

Apart from being wrong, adding the same node twice in a list also causes
spa_list_foreach() to loop forever...
2020-06-10 18:24:07 +03:00
Wim Taymans
b71efadb7a doc: add some more info 2020-06-10 17:08:12 +02:00
Wim Taymans
d3f29f048f meson: use join_paths to join paths 2020-06-10 13:28:15 +02:00
Wim Taymans
baf11b22d4 meson: use the right config file 2020-06-10 13:24:21 +02:00
Florian Klink
d1162f28ef pipewire.conf.in: use absolute path to pipewire-media-session
So pipewire daemon is able to find pipewire-media-session from the
location it's installed to, even when it's not in $PATH.

For the `pw-ininstalled.sh` and `make run` invocations, provide a
`src/daemon/pipewire-uninstalled.conf` that still uses the relative
path, but isn't installed.
2020-06-10 13:20:25 +02:00