summaryrefslogtreecommitdiffstats
path: root/meta-multimedia/recipes-multimedia/pipewire
Commit message (Collapse)AuthorAgeFilesLines
* pipewire: upgrade 0.3.57 -> 0.3.59Markus Volk2022-10-151-1/+1
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update 0.3.56 -> 0.3.57Markus Volk2022-09-082-60/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PipeWire 0.3.57 (2022-09-02) This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. Highlights Support masking of conf.d/ files. (#2629) Use org.freedesktop.portal.Realtime when available. This does the correct PID/TID mappings to make realtime also work from flatpaks. Fix rate adjustment logic in pulse-tunnel. This would cause increasing delays and hickups when using tunnels. (#2548) Add OPUS as a new vendor codec. Add OPUS-A2DP spec. PipeWire can now send and receive OPUS data over bluetooth. An AAC decoder was added so that PipeWire can now also function as an A2DP AAC receiver. Fix some issues where the wrong samplerate was used. (#2614) Fix rate match for sources. This fixes an error where follower sources would generate many resync warnings. Many more bugfixes and improvements. PipeWire Support masking of conf.d/ files. (#2629) Add some more debug info to memfd. Improve data-loop invoke method. Also flush pending items. (#2631) Add a filter-chain systemd service file than can be used to start custom filters placed in ~/.conf/pipewire/filter-chain.d/ (#2553) Improve triggered timestamps for remote nodes. Fix some potential cross compilation problems due to wrong host_machine. Check return values of pw_getrandom(). Tools Updates to pw-cli manpages. (#2552) Remove the pw-cli dump command. It is mostly implemented as part of wpctl status, pw-dump, pw-link, pw-top and others. Clean up resource in pw-cat correctly on errors. (#2651) Modules Fix compilation of AVB on big-endian. Enable AVB only on Linux. Use org.freedesktop.portal.Realtime when available. This does the correct PID/TID mappings to make realtime also work from flatpaks. Fix compilation of ROC module when headers are missing. (#2513) Improve some error cleanup paths in protocol-native. Improve connect and disconnect. Fix a potential crash in FFT unload in filter-chain. Implement PIPEWIRE_NOTIFICATION_FD for notification when the socket is ready. Try to use rtkit if set_nice() fails. Fix rate adjustment logic in pulse-tunnel. This would cause increasing delays and hickups when using tunnels. (#2548) Handle disconnect in pulse-tunnel. Bluetooth Add OPUS as a new vendor codec. Add OPUS-A2DP spec. PipeWire can now send and receive OPUS data over bluetooth. An AAC decoder was added so that PipeWire can now also function as an A2DP AAC receiver. SPA Tweak the resampler window function some more. (#2574) Improve format convert performance in some fallback cases. Fix rounding in format conversion on ARM NEON. Fix libcamera build error. (#2575) Fix some issues where the wrong samplerate was used. (#2614) Don't wait for more samples that can fit in the ringbuffer in ALSA. Improve buffer size handling in audioconvert, scale the buffers based on the rate conversion and make things work with really large rate conversions as well. Add more and better debug for ALSA devices. Improve channel mix: Filter FC and LFE when copying from a different layout. Implement STEREO from FC. Avoid generating REAR from FC in PSD mode. Fix rate match for sources. This fixes an error where follower sources would generate many resync warnings. Improve ALSA format negotiation. If the ALSA node is not running and there was a previously configured format, close and reopen the device to enumerate and accept all possible formats again. (#2625). ALSA The alsa plugin will now also save the volumes set with the control API. This saves the volumes set with alsa-mixer, for example. Pulse-server Flatpak apps with devices=all (Zoom) will now be granted Manager permissions. Small tweaks to the amount of data sent to clients to work around an issue in freerdp. JACK Clean up the transport correctly when closing a client. (#2569) Match context properties in addition to node properties for the jack client rules. (#2580) Make sure to return an error when disconnected from the server. (#2606) Fix thread cast problem in jack_client_thread_id(). Increase jack_client_name_size() length and make sure we have space for the \0 byte. JACK clients from the same application will be added to the same group so that they share the quantum and rate. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: improve runtime dependency settingsMarkus Volk2022-08-271-3/+3
| | | | | | | | - set pipewire-jack to be runtime recommended if it is built - make media-session and wireplumber conflicting each other Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: update to v0.3.56Markus Volk2022-08-224-61/+117
| | | | | | | | | | Add the configuration to make pipewire work as a drop-in replacement for pulseaudio-server. Add pipewire-media-session as a standalone recipe, since pipewire would fetch the code as a subproject at do_configure. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libsdl: The libsdl and libsdl2 are not virtualAndrew Davis2022-07-081-1/+1
| | | | | | | There is only one provider, these should not be virtual. Signed-off-by: Andrew Davis <afd@ti.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: reduce native/nativesdk dependencies; add backport patchMarkus Volk2022-05-242-2/+54
| | | | | | | | | | - pipewire is by default built with lots of dependencies. Reduce them for native/nativesdk - add a backport patch to fix pipewire support in libsdl2 - allow native/nativesdk build Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Upgrade to version 0.3.50Carlos Rafael Giani2022-04-262-48/+2
| | | | | | | | | | | | | | | This is a bugfix release. Notably, this makes pw-dot work again - it required workarounds via pw-dump to output a non-empty dot graph in 0.3.49. Full changelog: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.50 0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch is no no longer needed since it has been merged and is part of 0.3.50. Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Upgrade to version 0.3.49Carlos Rafael Giani2022-03-302-4/+55
| | | | | | | | | | | | | | | | | ChangeLogs can be found here: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.46 https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.47 https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.48 https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.49 Main recipe change is about the RTKit module, which was deprecated and replaced by the new RT module. The recipe disables the legacy rtkit module (which exists for backwards compatibility with older existing PipeWire installations that use rtkit in their configuration files). Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: Update LICENSE variable to use SPDX license identifiersKhem Raj2022-03-041-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: fix build error when pipewire-jack is usedPeter Bergin2022-02-111-3/+5
| | | | | | | | | | | | | | | | | | | | | If PACKAGECONFIG contains pipewire-jack the following error was seen: ERROR: pipewire-0.3.45-r0 do_package: QA Issue: pipewire: Files/directories were installed but not shipped in any package: /usr/bin/pw-jack /usr/share/pipewire/minimal.conf Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. pipewire: 2 installed and not shipped files. [installed-vs-shipped] File /usr/bin/pw-jack is added to pipewire-jack package. The removal of minimal.conf was conditional to not configuring 'pipewire-jack'. Can not see any reason to make it conditional on that specific option and make it always removed to avoid packaging error. Errors introduced in 687483235b5542401245711cb610ec327b33c403 Signed-off-by: Peter Bergin <peter@berginkonsult.se> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Upgrade to 0.3.45Carlos Rafael Giani2022-02-081-38/+79
| | | | | | | | | | | | | | | | | | | | | | | | Recipe changes: * media-session is no longer built, since it is now a separate subproject, and it is considered obsolete; WirePlumber is the alternative that is recommended by upstream; see: https://gitlab.freedesktop.org/pipewire/media-session/-/blob/d2880ed23aa6e3df7038b311145f390e4f3428ef/README.md#pipewire-media-session * new pipewire-v4l2 package that provides a virtual V4L2; contains a new "pw-v4l2" script to LD_PRELOAD libpw-v4l2.so device which transmits media data from/to a PipeWire graph * pw-top needs ncurses, which is why this is added to DEPENDS * pw-tools contains individual binary names to be able to separate the pw-v4l2 script from pw-tools * libcamera and ffmpeg features are usable now * remove unnecessary EXTRA_OEMESON switches for enabling plugins that are already on by default * add avahi, libcanberra, webrtc-echo-cancelling, bluez-aac, libusb packageconfigs * fix systemd-system-dir path and explicitly set systemd-user-dir path Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: Update SRC_URI branch and protocolsRichard Purdie2021-11-031-1/+1
| | | | | | | | | This patch updates SRC_URIs using git to include branch=master if no branch is set and also to use protocol=https for github urls as generated by the conversion script in OE-Core. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: rework PACKAGECONFIG for systemd service filesPeter Bergin2021-10-071-10/+10
| | | | | | | | | | | | | | | | | | pipewire project have config option to enable installation of systemd user and/or system services. Before update of pipewire to current version (02de7746) only system service files was added, after update both user and system service files was added. This commit will make it possible to configure which service files that is wanted. Default PACKAGECONFIG is to add systemd service files as it was before version upgrade. Yocto systemd class currently does not handle user service files during package and those files are only installed in rootfs but user service is not enabled as a system service is. Another use case is where you want your own service files and can disable the default ones from pipewire and add your own in a bbappend. Signed-off-by: Peter Bergin <peter@berginkonsult.se>
* pipewire: also handle pipewire-media-session in systemd classPeter Bergin2021-10-071-0/+2
| | | | | | | | | For the package pipewire-media-session there is a service file specified with SYSTEMD_SERVICE:${PN}-media-session but the package was not added to SYSTEMD_PACKAGES and not handled in do_package by systemd bbclass. Signed-off-by: Peter Bergin <peter@berginkonsult.se>
* pipewire: remove manpages classPeter Bergin2021-10-071-1/+1
| | | | | | | The manpages feature is disabled and can not be configured through PACKAGECONFIG. No need to inherit manpages bbclass. Signed-off-by: Peter Bergin <peter@berginkonsult.se>
* pipewire: Upgrade to 0.3.34Khem Raj2021-09-011-4/+6
| | | | | | | | | | | Enable systemd user services as well as they are required for user pipewire sessions Turn pw-cat into a packageconfig Enable systemd-user-service only for systemd Signed-off-by: Khem Raj <raj.khem@gmail.com>
* meta-multimedia: stop using "virtual/" in RPROVIDES and RDEPENDSMichael Opdenacker2021-09-011-1/+1
| | | | | | | | | | | | | Recipes shouldn't use the "virtual/" string in RPROVIDES and RDEPENDS. That's confusing because "virtual/" has no special meaning in RPROVIDES and RDEPENDS (unlike in PROVIDES and DEPENDS). Instead, using "virtual-" instead of "virtual/" as already done in the glibc recipe in OE-core Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Convert to new override syntaxMartin Jansa2021-08-032-49/+49
| | | | | | | | | | This is the result of automated script (0.9.1) conversion: oe-core/scripts/contrib/convert-overrides.py . converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* pipewire: upgrade 0.3.30 -> 0-3-31Andreas Müller2021-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. - Fixes for alsa-lib 1.2.5 - New pulseaudio modules: module-avahi-zeroconf, module-pipe-source, module-roc-sink, module-roc-source. - JACK has seen massive stability improvements. Locking and correctness wrt to callbacks has been reworked. Also thread priorities have improved. - Handle various crashes and lockups when running out of file descriptors. - Bluetooth now uses a hardware database to disable non-working features on listed devices. - Scheduling quantum and rate can now be changed dynamically with pw-metadata. - Many bugfixes and improvements. - Improve cleanup of context in error cases. - There is now a pw-test framework for improved unit tests. - Improve property serialization to valid JSON. - Fix some macros to work with better with coverity. - Metadata permissions are checked now. Clients need the M permission on an object to be able to set metadata for it. - The core metadata object will now remove metadata for removed objects, the implementor does not need to worry about that anymore. - Audioadapter will now follow the rate of the graph with the resampler adjusting itself dynamically. - Core now has a metadata implementation helper. A context will expose a metadata with settings that can be changed at runtime. This can be used to change the loglevel or graph quantum and samplerate on the fly. - An infinite loop was fixed in the audio converter. - Handle out-of-fds more gracefully. Handle truncated control data by dropping the client connection. - Fix profiler crash with many streams. - Improve latency handling in pw-filter. There is now a default handler and a ProcessLatency parameter to simplify latency reporting. - Latency reporting was improved in devices and streams. - And example sink/source was added. - hardware mute and volume are now properties on the Route param to make things easier. - More fixes for alsa-ucm 1.2.5. - spa-json-dump now properly encodes string and keys. - pw-dump now shows the correct subject of the metadata. - Ensure the node.description is set, some applications crash otherwise (TeamSpeak). - Module loading and unloading was improved. - module-avahi-zeroconf was implemented. - module-pipe-source was implemented - module-roc-sink and module-roc-source was implemented. - The maximum amount of connections has been limited to 64, like pulseaudio. - Handle out-of-fds more gracefully. - Fix overflow of read/write pointers. - Source and sink state are now decoupled from the monitor state and will report IDLE when not playing anything. - Port switching should now happen to/from the port that actually changed. - The locking was reviewed. All callbacks are now emited from the PipeWire thread with the lock released and the process function will be disabled for the duration of the callback. This ensures that no two callbacks are called at the same time. - Improve internal consistency and try to never call callbacks with invalid objects. - Monitor port can now be accessed with system:monitor_%d - client threads are now created with SCHED_FIFO and module-rt is used to create the other RT threads. This should avoid SIGKILL from RTKit in some cases. - Various bugfixes to improve connections to devices. - Handle delayed UUID connection. - There is now a hardware database that can disable features in listed devices. - Use libusb to detect availability of mSBC. - The virtual device name can now also contain a media role. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Upgrade to 0.3.30Carlos Rafael Giani2021-06-091-1/+1
| | | | | | | | | | | This is a bugfix upgrade. Changelog: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.30 Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Add filter-chain files to modules-filter-chain packageCarlos Rafael Giani2021-06-091-1/+5
| | | | | Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: upgrade 0.3.24 -> 0.3.29Andreas Müller2021-06-051-16/+17
| | | | | | | Due to 'stealing' from jack & pulseaudio the license was changed Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Package systemd unit file for pipewire-media-sessionKhem Raj2021-03-211-0/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Upgrade to 0.3.24Carlos Rafael Giani2021-03-201-19/+24
| | | | | | | | | | | | | | | | | | | | | | This is a bugfix upgrade with some necessary changes to the recipe itself. Changelogs: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.23 https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.24 Fixes in the recipe itself: - meson_options.txt now uses features for everything, so the "=true" and "=false" packageconfig args were replaced by "=enabled" and "=disabled", respectively - "docs" packageconfig was incorrectly adding doxygen instead of doxygen-native to the DEPENDS variable - "man" packageconfig removed, since manpage generation requires xmltoman, and that tool is not available Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Rework 0.3 recipe and upgrade to 0.3.22Carlos Rafael Giani2021-03-032-77/+273
| | | | | | | | | | | | | | | | * Use a versioned recipe instead of _git * Add more packageconfigs: alsa, docs, sdl2, sndfile, v4l2, pipewire-alsa, pipewire-jack * Split SPA and module packages dynamically to generate one package for each SPA plugin and for each module * Split pipewire library, shim PulseAudio daemon, main tools & SPA tools, pipewire-alsa, pipewire-jack, ALSA card profiles, GStreamer plugin, and example session manager into separate packages * Set up a "pipewire" user and group to run the PipeWire daemon with that user instead of root Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pipewire: Move to meta-multimediaCarlos Rafael Giani2021-03-032-0/+142
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>