Commit graph

4077 commits

Author SHA1 Message Date
Wim Taymans
65f961fca0 impl-device: don't warn for unknown node id
Just debug the node id and remove it when known. It's possible that
no node was created for the id because it did not have a factory.
2020-06-24 12:52:50 +02:00
Gleb Popov
9905d249ba Bump FreeBSD version in Cirrus CI and remove pkg bootstrap command, which shouldn't be needed now. 2020-06-23 18:57:10 +04:00
Jordan Christiansen
e404979a2f Fix trivial typo 2020-06-23 14:30:01 +00:00
Wim Taymans
0f1df5aee5 doc: add tutorial about binding objects 2020-06-23 15:44:01 +02:00
Wim Taymans
cb1a2ed769 midifile: check return of write and fail on error 2020-06-23 15:26:23 +02:00
Wim Taymans
29282b8d50 module-device: remove impossible case 2020-06-23 15:26:04 +02:00
Wim Taymans
35bb7d794b dlclose on errors 2020-06-23 15:25:45 +02:00
Wim Taymans
f08c35259c avoid uninitialized variables 2020-06-23 15:25:27 +02:00
Wim Taymans
95192b21f1 mem: reset the map in clear
Or else the free list is not cleared.
2020-06-19 16:58:22 +02:00
Wim Taymans
9c049f23ae doc: add video capture tutorial 2020-06-19 16:37:14 +02:00
Wim Taymans
f78e44c28a impl-core: clear the mempool
When a client sends hello, clear the mempool again to make sure
it get's the new memory.
2020-06-19 15:20:50 +02:00
Wim Taymans
2bcbf62443 docs: add some more links 2020-06-19 13:41:42 +02:00
Wim Taymans
93e04aebce example: add example of renegotiation
Add an example of renegotiating a producer and consumer format.
2020-06-19 12:17:47 +02:00
Wim Taymans
0dad6c5852 impl-link: start of renegotiation
Handle an EnumFormat param change on the link ports and start
the renegotiation process.
2020-06-19 12:14:46 +02:00
Wim Taymans
ebede91239 impl-link: reset state before starting allocation
Reset our state before checking the state of the ports or else
we might still think a port has buffers while they are being
allocated.
2020-06-19 12:12:48 +02:00
Wim Taymans
4be29c1124 resample: load more data on aarch64 because we can 2020-06-19 11:47:57 +02:00
Wim Taymans
ecead2b7e4 buffer: add more debug 2020-06-18 18:28:13 +02:00
Wim Taymans
67b692396b v4l2: remove format checks
When a caller sets a format, we do this regardless of the currently
configured format.
2020-06-18 18:26:00 +02:00
Wim Taymans
6e74edc14e v4l2: always stop and clear buffer when setting a format
The caller frees the buffers after setting a new format.
2020-06-18 18:23:36 +02:00
Wim Taymans
8f8083b963 examples: add signal handlers to quit nicely 2020-06-18 15:47:50 +02:00
Wim Taymans
8e366a17ee port: add param_changed event 2020-06-18 15:47:29 +02:00
Wim Taymans
4c8f8671d7 client-node: improve error reporting 2020-06-18 15:40:53 +02:00
Wim Taymans
108bf82a10 context: improve param debug
Make it possible to log more info in the param debug functions
2020-06-18 15:29:21 +02:00
Wim Taymans
6495199a7a pw-mon: debug param id names 2020-06-18 12:54:17 +02:00
Wim Taymans
6160711723 stream: change serial when the param changed
Observers check the flags to see if there is a change. The serial
can be used to toggle a change when no other flags change.
2020-06-18 12:53:23 +02:00
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